John Cremona on Thu, 18 Jun 2009 11:56:43 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Fwd: Elliptic curve x^3 - y^2 = p |
I replied to the original poster when I meant to reply to pari-users. ---------- Forwarded message ---------- From: John Cremona <john.cremona@gmail.com> Date: 2009/6/18 Subject: Re: Elliptic curve x^3 - y^2 = p To: cino hilliard <hillcino368@hotmail.com> It is in Sage (http://www.sagemath.org/): sage: time EllipticCurve([0,0,0,0,-431]).integral_points() CPU times: user 0.44 s, sys: 0.00 s, total: 0.44 s Wall time: 1.77 s [(8 : 9 : 1), (11 : 30 : 1), (20 : 87 : 1), (30 : 163 : 1), (36 : 215 : 1), (138 : 1621 : 1), (150 : 1837 : 1), (575 : 13788 : 1), (3903 : 243836 : 1)] sage: time EllipticCurve([0,0,0,0,-503]).integral_points() CPU times: user 0.46 s, sys: 0.01 s, total: 0.46 s Wall time: 1.75 s [(8 : 3 : 1), (12 : 35 : 1), (18 : 73 : 1), (23 : 108 : 1), (44 : 291 : 1), (134 : 1551 : 1), (294 : 5041 : 1), (1008 : 32003 : 1)] John Cremona 2009/6/18 cino hilliard <hillcino368@hotmail.com>: > Hi , > I want to find the number of solutions of the elliptic curve, x^3 - y^2 = p > for various p = 7, 431, 503, etc > > I have been using brute force in a Pari script below testing for solutions. > diffcubesq2(n,p) = > { > local(a,c=0,c2=0,j,k,y); > for(j=1,n, > for(k=1,n, > y=j^3-k^2; > if(y==p, > c++; > print(j","k","y); > ); > ); > ); > c; > } > > diffcubesq2(10000,431) outputs > 8,9,431 > 11,30,431 > 20,87,431 > 30,163,431 > 36,215,431 > 138,1621,431 > 150,1837,431 > (03:14:10) gp > ## > *** last result computed in 6mn, 57,969 ms. > > My Pari code misses the last two solutions. It would have > taken way too much time to get to y = 243836 anyway. > > From a example and link posted by David Broadhurst in another forum, > > http://magma.maths.usyd.edu.au/calc/ > > I tried using the Magma applet to compute the elliptic curve. > This gets all solutions in a fraction of the time. > > Does anyone have Pari script with elliptic curve functions that will > do something like this? > > > Examples: p = 7 has 2 solutions, p = 431 has 9 > Input: > E := EllipticCurve([0, -7]); > Q, reps := IntegralPoints(E); > Q; > > Output: > Magma V2.15-3 Thu Jun 18 2009 17:24:22 [Seed = 2348296821] > ------------------------------------- > [ (2 : 1 : 1), (32 : -181 : 1) ] > Total time: 0.350 seconds, Total memory usage: 136.95MB > > Input: > E := EllipticCurve([0, -431]); > Q, reps := IntegralPoints(E); > Q; > > Output: > Magma V2.15-3 Thu Jun 18 2009 17:33:07 [Seed = 3601166652] > ------------------------------------- > [ (8 : 9 : 1), (20 : -87 : 1), (11 : -30 : 1), (30 : -163 : 1), (36 : 215 : > 1), > (138 : 1621 : 1), (150 : 1837 : 1), (575 : 13788 : 1), (3903 : -243836 : 1) > ] > Total time: 1.050 seconds, Total memory usage: 137.04MB > > Thanks, > Cino > >