Explicit Derivation of Weierstrass Normal Form for Cubic Curve

In page 22-23 of Rational Points on Elliptic Curves by Silverman and Tate, authors explain why is it possible to put every cubic curve into Weierstrass Normal Form. Here are relevant pages: (My question is at the end; I have put a red line across the point I am interested in)

enter image description here

enter image description here

Could someone explain to me how to "work out" the algebra part?

This seems pretty important derivation actually. I am afraid I don't even know how to start the algebra. I would appreciate any suggestions/hints. Thank you :)

Related. There is a close question I found here on MSE. However, that particular question asks more about geometrical insight. My question is how does one explicitly go from the general cubic to the equation $xy^2+(ax+b)y=cx^2+dx+e$. By the way, the equation for the general cubic is (just so the coefficients are consistent with the above formula): $ax^3+bx^2y+cxy^2+dy^3+ex^2+fxy+gy^2+hx+iy+j=0$


The calculation is straightforward using the Riemann-Roch theorem, but not so much without it. Let's look at the poles and zeroes of $x$ and $y$. Let $P$ be the third point of intersection of $Z$ and $C$, and $Q$ the third point of intersection of $X$ and $C$, and $A$ and $B$ be the two other points of intersection of $Y$ with $C$. Remark that:

  1. $Z$ has a double zero at $\mathcal O$ and a simple zero at $P$;
  2. $X$ has a double zero at $P$ and a simple zero at $Q$
  3. $Y$ has a simple zero at $\mathcal O$ and zeroes at $A$ and $B$.

From (1) and (2), $x=X/Z$ has a double pole at $\mathcal O$ (and simple zeros at $P$ and $Q$);

From (1) and (3), $y=Y/Z$ has simple poles at $\mathcal O$ and at $P$ (and simple zeros at $A$ and $B$).

It follows that the function $xy$ has a triple pole at $\mathcal O$ and no other poles. Thus, the functions $x$ and $y':=xy$ only have poles at $\mathcal O$ (of orders $2$ and $3$ respectively). Therefore, the 7 functions

$$1, x, x^2, x^3, y', (y')^2, xy'$$

all have poles of order $\leq 6$ at $\mathcal O$ and no other poles. But the vector space of such functions has dimension $6$ by the Riemann-Roch theorem. Therefore, we know that there is a linear combination of them which is $0$, i.e. a Weierstrass equation for $C$.

In order to find the transformation explicitly, you can express the $7$ functions above as formal Laurent series around $\mathcal O$, with coefficients in $k(a,b,c,d,e,f,g,h,i,j)$, and find a combination which cancels the principal parts. Riemann-Roch is only required to prove that this will work, but if you want to avoid Riemann-Roch and you are extremely patient, it is possible to prove it directly. At some point in the calculation, you will have to divide by the discriminant $D(a,b,c,d,e,f,g,h,i,j)$... good luck with that! :)


By taking the derivative of the equation for the general cubic, and after some elementary manipulation, and preserving all of the original coefficients, one gets the following:

$x y^2 + [[(2b + 2c)/(3d + c)] x + (2g + f)/(3d +c)] xy$ = cubic in $x$

Now all one has to do is use a new coordinate $y$ that transforms the left hand side to $y^2$. Silverman's change of variables, replacing $xy$ with a new $y$, does not seem to work for this form of the equation.