8

I'm trying to use Sage on-line,but I meet some trouble with the code of it. I want to find the rational points on an elliptic curve,such as $$1 + 18 x + 81 x^2 + 44 x^3 = y^2,\tag1$$ I know that $(x,y)=(0,1),(1,\pm12),(-\frac{1}{11},0)$ are on the curve,but I don't know how to find more,so I try to solve it with the math-software Sage.

What should I input?Thanks in advance!

Edit: Multiply by $44^2$,we can difine the ellipse curve by this way,

E = EllipticCurve([0,81,0,44*18,44^2])

Then how to find the rational points on it?

lsr314
  • 16,048
  • Since this question has been linked to elliptic curves, should it be better to tag it as such? Regards. – awllower May 30 '13 at 13:57
  • You could always try asking here. – 77474 May 30 '13 at 14:40
  • 1
    http://math.stackexchange.com/questions/203484/how-to-compute-rational-or-integer-points-on-elliptic-curves has links to some examples . – zyx May 30 '13 at 17:59
  • BTW, E.rational_points(bound=1000) took several days to return the output [(-4 : 0 : 1), (0 : -44 : 1), (0 : 1 : 0), (0 : 44 : 1), (44 : -528 : 1), (44 : 528 : 1)] -- so knowing the mathematics in the answers below certainly helps. :-) – ShreevatsaR Jun 10 '13 at 06:41

3 Answers3

7

By the Mordell-Weil theorem, the group of rational points $E(\mathbb{Q})$ is finitely generated and therefore isomorphic to a group of the form $T\oplus \mathbb{Z}^R$, where $T$ is finite abelian formed by those points of finite order, and $R\geq 0$ is the rank of the elliptic curve, and it counts how many $\mathbb{Z}$-linearly independent points of infinite order there are.

With Sage, define your curve by

E=EllipticCurve([0,81,0,44*18,44^2]);

Now you can ask Sage to calculate the rank $R$ with

E.rank();

and the answer is $0$. So there are no points of infinite order, only finite order points. Let us calculate the torsion subgroup as follows

T=E.torsion_subgroup();

if you type ``T;'' and evaluate, Sage will tell you that $T\cong \mathbb{Z}/6\mathbb{Z}$. Finally, if you type

T.0;

Sage returns a generator of the torsion subgroup, namely $P=(44,528)$, which is a point of exact order $6$. Hence, $E(\mathbb{Q})=\langle P \rangle$ or $$E(\mathbb{Q})=\langle P \rangle = \{ \mathcal{O}, (44,528),(0,44), (-4,0), (0,-44), (44,-528)\}.$$

6

In case a curve has positive rank, you'd like to know its generators by E.gens().

In the case

E = EllipticCurve([0,121,0,22*52,52^2]);

the rank is 1

sage: E.rank()
1

and its generator is

sage: E.gens()
[(-104 : 260 : 1)]

In this case you can construct infinitely many points on E, by adding a torsion point and some multiple of the generator, for instance

sage: T = E(0,52)
sage: P = E(-104,260) 
sage: T + 2*P
(480/49 : 55796/343 : 1)
sage: T + 3*P
(-12662312/485809 : -65467251044/338608873 : 1)
sage: T - 5*P
(-70265016926482573/11385999920450401 : 5045808098009295785013222/1214945410097644049235601 : 1)

and so on.

0

If you just want rational points then a quick way is with the on-line PARI/GP

? hyperellratpoints( 1 + 18*x + 81*x^2 + 44*x^3, 11)
%1 = [[0, 1], [0, -1], [1, 12], [1, -12], [-1/11, 0]]

The other answers give methods using methods specific to elliptic curves, and can ensure that there are only five rational points. However, this method can quickly give the five points directly from the cubic equation you have. This is useful in cases you don't already know what the rational points are. By the way, Sage uses PARI/GP for some of its elliptic curve results.

Somos
  • 37,457
  • 3
  • 35
  • 85