# Find all rational solutions of $x^2(x+1)(x^2+1)(x-1)=2(y+1)(y-1)$

Find all rational solutions of $$x^2(x+1)(x^2+1)(x-1)=2(y+1)(y-1).$$ Clearly the following six solutions hold: $$(x,y)=(1,1),(-1,-1),(-1,1),(1,-1),(0,1),(0,-1)$$

But how to find all rational solutions?

• By the theorem of Faltings there are only finitely many (since the genus is bigger than 1) – Lior Bary-Soroker Dec 1 '16 at 9:44
• This is a hyperelliptic curve of genus $3$. Normally either one of Michael Stoll or Noam Elkies comes along and solves such problems... – Daniel Loughran Dec 1 '16 at 10:18
• Rewriting in the form $(x^2-1)x^2(x^2+1)=8(y/2-1/2)(y/2+1/2)$, we find two more solutions $x^2=9=y/2-1/2$, i.e. $(\pm3,19)$. – Ilya Bogdanov Dec 1 '16 at 10:19
• A quick computer search gives $(-3,-19), (3,-19), (-1,-1), (0,-1), (1,-1), (-1,1), (0,1), (1,1), (-3,19), (3,19)$ for integer solutions between -100000 and 100000. – coudy Dec 1 '16 at 10:41
• The Jacobian is isogenous to the product of two elliptic curves ($y^2 = x^3 - 4x + 16$ and $y^2 = x^3 +x^2 - x + 31$), and this shows that the rank of the Jacobian over $\mathbb{Q}$ is $3$. This will make applying Chabauty's method difficult. – Jeremy Rouse Dec 1 '16 at 14:28

This is no complete answer yet, but may get expanded to one in due course.

First we search for points on the curve, which is isomorphic to $$C \colon y^2 = 2(x^6 - x^2 + 2);$$ this produces points with $x \in \{-3, -1, -4/7, 0, 4/7, 1, 3\}$ as already mentioned in the comments. It was also mentioned that the rank of the Mordell-Weil group of the Jacobian variety of $C$ is 3, so that we cannot apply Chabauty's method directly. What we can try to do is to use a covering collection plus Elliptic Curve Chabauty.

Let $K = \mathbb Q(a)$ with $a^3 - a + 2 = 0$; then $$2(x^6 - x^2 + 2) = 2 (x^2 - a) (x^4 + a x^2 + a^2 - 1).$$ We can compute the 2-Selmer set of $C$ and find that it has three elements that are all images of known rational points on $C$. If my quick computation is correct, then we obtain two coverings of $C$ of the form $$D_j \colon u^2 = \delta_j (x^2 - a), \quad v^2 = 2 \delta_j (x^4 + a x^2 + a^2 - 1)$$ with $\delta_1 = 1 - a$ and $\delta_2 = -a$, such that each rational point on $C$ lifts to a $K$-point on $D_1$ or $D_2$ (with the same $x$-coordinate). Forgetting the first equation, we get morphisms $D_j \to E_j$, where $E_j$ is an elliptic curve given by the second equation. We are interested in points in $E_j(K)$ whose $x$-coordinate is in $\mathbb Q$; this is the setting for Elliptic Curve Chabauty. According to Magma, the Mordell-Weil ranks of $E_1$ and $E_2$ over $K$ are 2 and 1, so the relevant Chabauty condition (rank is smaller than degree of $K$) is satisfied. It remains to actually do the computation, which right now I have no time to do. Almost certainly the result will be that $C$ only has the known rational points.

EDIT: I have now done the computation (with Magma), and the result is as expected: the rational points on $C$ lifting to a $K$-rational point on $D_1$ have $x$-coordinate in $\{-3, -1, 1, 3\}$ and the rational points on $C$ lifting to a $K$-rational point on $D_2$ have $x$-coordinate in $\{-4/7, 0, 4/7\}$. So there are no unknown rational points on $C$.

Here is Magma code for the computations (it can be run in the Magma online calculator):

P<x> := PolynomialRing(Rationals());
f := x^2*(x+1)*(x^2+1)*(x-1) + 2;
C := HyperellipticCurve(2*f);
K<a> := NumberField(x^3-x+2);
f1 := ExactQuotient(PolynomialRing(K)!f, Polynomial([-a, 0, 1]));
// compute 2-Selmer set of C
deltas, m := TwoCoverDescent(C);
A<th> := Domain(m);
// find the possible square classes of x(P)^2 - a in K, for P in C(Q)
invol := hom<A -> A | -th>;
ndeltas := [d*invol(d) where d := dd @@ m : dd in deltas];
assert Set(ndeltas) eq {1-th^2, -th^2}; // note that a = th^2, so this is {1-a, -a}
// set up the two elliptic quotients as hyperelliptic curves
D1 := HyperellipticCurve(2*(1-a)*f1);
D2 := HyperellipticCurve(2*(-a)*f1);
// find isomorphic elliptic curve, given by integral Weierstrass model
E1, D1toE1 := EllipticCurve(D1, Points(D1, 1));
E1i, toE1i := IntegralModel(E1);
// determine E1(K)
MWE1, mMWE1 := MordellWeilGroup(E1i);
P1 := ProjectiveSpace(Rationals(), 1);
// set up x-coordinate map in terms of E1i
E1itoP1 := Expand(Inverse(toE1i)*Inverse(D1toE1)*map<D1 -> P1 | [D1.1, D1.3]>);
// run Elliptic Curve Chabauty
ptsMWE1, N1 := Chabauty(map<MWE1 -> E1i | a :-> &+[Eltseq(a)[i]*mMWE1(MWE1.i) : i in [1..Ngens(MWE1)]]>, E1itoP1);
// make sure known subgroup of E1(K) is saturated at the primes dividing N1
newgens := Saturation([mMWE1(g) : g in OrderedGenerators(MWE1)], Max(PrimeDivisors(N1)));
assert newgens eq [mMWE1(g) : g in OrderedGenerators(MWE1)];
// find the x-coordinates of the points
{E1itoP1(mMWE1(pt)) : pt in ptsMWE1};
// ==> { (3 : 1), (1 : 1), (-1 : 1), (-3 : 1) }
// do the same for the other covering curve
E2 := EllipticCurve(D2, Points(D2, 0));
E2, D2toE2 := EllipticCurve(D2, Points(D2, 0));
E2i, toE2i := IntegralModel(E2);
E2itoP1 := Expand(Inverse(toE2i)*Inverse(D2toE2)*map<D2 -> P1 | [D2.1, D2.3]>);
MWE2, mMWE2 := MordellWeilGroup(E2i);
ptsMWE2, N2 := Chabauty(map<MWE2 -> E2i | a :-> &+[Eltseq(a)[i]*mMWE2(MWE2.i) : i in [1..Ngens(MWE2)]]>, E2itoP1);
newgens := Saturation([mMWE2(g) : g in OrderedGenerators(MWE2)], Max(PrimeDivisors(N2)));
assert newgens eq [mMWE2(g) : g in OrderedGenerators(MWE2)];
{E2itoP1(mMWE2(pt)) : pt in ptsMWE2};
// ==> { (0 : 1), (4/7 : 1), (-4/7 : 1) }