Mistake in LMFDB integral points in elliptic curve $y^2+y=x^3-3x+4$

173 Views Asked by At

According to LMFDB the integral points of the elliptic curve $$y^2+y=x^3-3x+4$$ are $(−2,1)$, $ \left(-1, 2\right) $, $ \left(1, 1\right) $, $ \left(2, 2\right) $, $ \left(4, 7\right) $, $ \left(13, 46\right) $, $ \left(19, 82\right)$.

But I found that: $(x,y)=(-2,-2),(-1,-3),(1,-2),(2,-3),(4,-8),(13,-47),(19,-83)$ are also solutions, but they are not listed. Why is that?


enter image description here

1

There are 1 best solutions below

2
On

This could not be a comment, so it is an answer... The short answer is:

https://www.lmfdb.org/EllipticCurve/Q/135/a/1

explains that only one of $\pm P$ is shown.

Long answer: I am trying to explain the reason by using sage. Here, if we ask for the integral points...

sage: E = EllipticCurve(QQ, [0, 0, 1, -3, 4])
sage: E
Elliptic Curve defined by y^2 + y = x^3 - 3*x + 4 over Rational Field
sage: E.integral_points() 
[(-2 : 1 : 1),
 (-1 : 2 : 1),
 (1 : 1 : 1),
 (2 : 2 : 1),
 (4 : 7 : 1),
 (13 : 46 : 1),
 (19 : 82 : 1)]

we get the above list of seven points. Since most people most times ask for the integral points on a curve given by the simpler equation $y^2=x^3+ax+b$, and in this case we obviously see the points coming in pairs $(x,\pm y)$, there is a default implicit decision in the computation to show only "the half" of the points. To see them all, we need to explicitly ask for

sage: E.integral_points(both_signs=True)
[(-2 : -2 : 1),
 (-2 : 1 : 1),
 (-1 : -3 : 1),
 (-1 : 2 : 1),
 (1 : -2 : 1),
 (1 : 1 : 1),
 (2 : -3 : 1),
 (2 : 2 : 1),
 (4 : -8 : 1),
 (4 : 7 : 1),
 (13 : -47 : 1),
 (13 : 46 : 1),
 (19 : -83 : 1),
 (19 : 82 : 1)]

and we get more. In this case, for a specified value of $x$, say $x=x_0=19$ we know, that the equation in $y$ $$ y^2+y = (19^3-3\cdot 19+4) $$ has an integer solution, the other one is (Vieta) making their sum equal to $-1$.

There is often a reason to "compute / show only half of the points", databases need half space, computation algorithms may make a choice...

And indeed, let us ask sage to show the pairs of points $P, -P$ in the same line:

sage: for P in E.integral_points():
....:     Q = -P 
....:     print( "P = %8s and -P = %8s" % (P.xy(), Q.xy()) )
....:     
....:                         
P =  (-2, 1) and -P = (-2, -2)
P =  (-1, 2) and -P = (-1, -3)
P =   (1, 1) and -P =  (1, -2)
P =   (2, 2) and -P =  (2, -3)
P =   (4, 7) and -P =  (4, -8)
P = (13, 46) and -P = (13, -47)
P = (19, 82) and -P = (19, -83)
sage: