Ellipsoid: main axes, center from the general equation

Hello members,

I'm writing to find a solution to a seemingly simple problem that does not seem so simple anymore. I'm trying to fit an ellipsoid to a small number of 3D points. An external program does this for me and returns the result as coefficients of the general equation of a 3D quadratic surface

ax2+by2+c2+2fyz+2gxz+2hxy+2px+2qy+2rz+d=0

Generally it is guaranteed that the object is an ellipsoid and all coefficients usually are nonzero. I'd like to analyze the fitted ellipsoid and for this I would need the length and orientation of the main axes and the center of the ellipsoid. I'm able to get these by approximation but would like to have a better solution.

I've learned that the ellipsoid can be expressed in quadratic form

xTAx = 1 where xT = [x y z] and A = . By just solving eigenvectors of A, I'm able to get the normailized orthogonal vectors of the main axis. However there where my current knowledge ends. In order to take all coefficients of the general equation and extract the get the rest of wanted parameters (axis lengths and center), I should take account also the first order terms and the constant. The quadratic form would then look (x - c)TA (x - c)= 1 where c is the center of the ellipsoid. I haven't been able to solve c form the general equation or to find any other way around this. Any help would be much appreciated.