Help solving $ax^2+by^2+cz^2+dxy+exz+fzy=0$ where $(x_0,y_0,z_0)$ is a known integral solution Help solving over the integers: $$ax^2+by^2+cz^2+dxy+exz+fzy=0$$ where $(x_0,y_0,z_0)$ is a known integral solution and $a,b,c,d,e,f$ are integral coefficients.
I found in Tito Piezas' identities the solutions. However, I am more interested in the steps followed to get the results. Any hints?
 A: For the equation.
$$aX^2+bY^2+cZ^2=dXY+eXZ+fYZ$$
If you know any solution $(x,y,z)$ of this equation.  Then the formula for the solution of the equation can be written immediately.
$$X=(dy+ez-ax)p^2+(fz-2by)ps+bxs^2+cxt^2+(fy-2cz)pt-fxst$$
$$Y=ayp^2+(ez-2ax)ps+(dx+fz-by)s^2+cyt^2-eypt+(ex-2cz)st$$
$$Z=azp^2-dzps+bzs^2+(ex+fy-cz)t^2+(dy-2ax)pt+(dx-2by)st$$
$p,s,t - $  any integers.
A: This thing surprised me, but perhaps it should not have. Given any quadratic form $g(x) = x' G x,$ where $G$ is a symmetric matrix,  $x$ a column vector, and $x'$ its transpose, a row vector, we are taking $x$ and a new vector $v$ and creating
$$ r = (v'Gv)x - 2 (x'Gv)v. $$ This gives us
$$ r' G r = (v'Gv)^2 (x'Gx) - 4 (v'Gv)(x'Gv)^2+ 4 (x'Gv)^2 (v'Gv) =  (x'Gx)(v'Gv)^2, $$ so
$$ r' G r  =  (x'Gx)(v'Gv)^2. $$ This is Desboves,
$$ g(r) = g(x) \left( g(v) \right)^2 . $$
In particular, if $g(x) = 0,$ then $g(r) = 0.$
Why do I call this stereographic projection? We start with an integer vector $x,$ and suppose that $g(x) = 0.$ Take a second integer vector $v.$ With a rational parameter $t,$ any rational vector can be written as $x+tv.$ Furthermore, $g(x+tv) = g(x) + 2 t (x'Gv) + t^2 g(v).$ Under the supposition that $g(x) = 0,$ we find the other null vector along this ray by setting  $2 t (x'Gv) + t^2 g(v)=0,$ demanding $t \neq 0,$ dividing out by $t,$ then solving, which gives $t g(v) = -2 (x'Gv).$ So the rational
$$ t = -2 (x'Gv)/ g(v), $$ and $$ x+tv = \frac{xg(v) - 2 (x'Gv)v}{g(v)}. $$
When $g(x) = 0,$ this $g(x+tv) =0$ gives the other rational point along that line and on the surface $g=0.$ It may not be composed of integers, though, so we take the integer multiple $$ r = x g(v) - 2 (x'Gv)v. $$
We do get $g(r) = 0,$ the only problem is that the gcd of the entries of $r$ is not entirely predictable. If we agree to divide out by the gcd, we are guaranteed to get all integer primitive solutions to $g=0$ this way. 
some detail on individ's answer, based on a new comment by Tito a few hours ago. individ wrote with some minus signs on the mixed terms, in the pari output below I show how to derive the expressions and I confirm the Desboves type identity 
$$ aX^2 + b Y^2 + c Z^2 - d XY - e XZ - f YZ = (ax^2 + b y^2 + c z^2 - d xy - e xz - f yz) \left(ap^2 + b s^2 + c t^2 - d ps - e pt - f st  \right)^2   $$
with $X,Y,Z$ as given in his answer.  I checked this in gp-pari, it is stereographic projection around a known solution, which has lower case $x,y,z.$ When finished, there is the Desboves type identity abaove, and this holds even when $(x,y,z)$ is not really a solution..
let: X =  x + u * p; Y = y + u * s;  Z = z + u * t


let: poly =    a * X^2 + b * Y^2 + c * Z^2 - d * X * Y - e * X * Z  - f * Y * Z


parisize = 4000000, primelimit = 500509
? X =  x + u * p; Y = y + u * s;  Z = z + u * t
%1 = t*u + z

?  poly =    a * X^2 + b * Y^2 + c * Z^2 - d * X * Y - e * X * Z  - f * Y * Z
%2 = a*x^2 + ((2*a*p + (-d*s - e*t))*u + (-d*y - e*z))*x + ((a*p^2 + (-d*s - e*t)*p + (b*s^2 - f*t*s + c*t^2))*u^2 + ((-d*y - e*z)*p + ((2*b*s - f*t)*y + (-f*z*s + 2*c*t*z)))*u + (b*y^2 - f*z*y + c*z^2))
? 
? 
? poly0 = polcoeff(poly, 0, u)   
%3 = a*x^2 + (-d*y - e*z)*x + (b*y^2 - f*z*y + c*z^2)
? 
? poly1 = polcoeff(poly, 1, u)   
%4 = (2*a*p + (-d*s - e*t))*x + ((-d*y - e*z)*p + ((2*b*s - f*t)*y + (-f*z*s + 2*c*t*z)))
? 
? poly2 = polcoeff(poly, 2, u)   
%5 = a*p^2 + (-d*s - e*t)*p + (b*s^2 - f*t*s + c*t^2)
? 
? 
X,Y,Z become:
p,s,t

denom =     a * p^2 + b * s^2 + c * t^2 - d * p * s - e * p * t  - f * s * t

? denom - poly2
%7 = 0
? 
? 
? XX = x * poly2 - p * poly1
%8 = (-a*p^2 + (b*s^2 - f*t*s + c*t^2))*x + ((d*y + e*z)*p^2 + ((-2*b*s + f*t)*y + (f*z*s - 2*c*t*z))*p)
? 
? YY = y * poly2 - s * poly1
%9 = (-2*a*s*p + (d*s^2 + e*t*s))*x + (a*y*p^2 + (-e*t*y + e*z*s)*p + ((-b*s^2 + c*t^2)*y + (f*z*s^2 - 2*c*t*z*s)))
? 
? ZZ = z * poly2 - t * poly1
%10 = (-2*a*t*p + (d*t*s + e*t^2))*x + (a*z*p^2 + (d*t*y - d*z*s)*p + ((-2*b*t*s + f*t^2)*y + (b*z*s^2 - c*t^2*z)))
? 
?  polypoly  =    a * XX^2 + b * YY^2 + c * ZZ^2 - d * XX * YY - e * XX * ZZ  - f * YY * ZZ 


polypoly - poly0 * poly2^2  

? 
? 
? polypoly - poly0 * poly2^2  
%12 = 0
? 
? 
? WOW

