# Compute rank of elliptic curve

Is there a faster way (< 1 hour) to compute the rank of the following curve? So far, I don't know the rank yet. The code presented below is just the most recent status (the last line shown is not the last line of the actual computation done in the future).

```
sage: E=EllipticCurve([525,228,0,-14972955,856475^2])
sage: E.two_descent() # alternatively: E.rank(verbose=true)
Working with minimal curve [1,-1,1,-1608154463,25555312501831] via [u,r,s,t] = [1,-23045,-262,6049313]
Basic pair: I=77191414209, J=-44158885280436546
disc=-110222528210564668480677268684800
2-adic index bound = 2
By Lemma 5.1(b), 2-adic index = 1
2-adic index = 1
One (I,J) pair
*** BSD give two (I,J) pairs
Looking for quartics with I = 77191414209, J = -44158885280436546
Looking for Type 3 quartics:
Trying positive a from 1 up to 97338 (square a first...)
(1,0,-2569108581,70882136446950,-550026568648034946) --nontrivial...(x:y:z) = (1 : 1 : 0)
Point = [3425478110:70880423707891:8]
height = 19.3580374139982139686097624130447703630897684162794
Rank of B=im(eps) increases to 1
(1,0,-79008759,382273295436,-520192233942156) --nontrivial...(x:y:z) = (1 : 1 : 0)
Point = [105345014:382220622925:8]
height = 16.6812813105166386389509418874147230151015412188468
Rank of B=im(eps) increases to 2
(1,0,-164229,11437514,4185020814) --nontrivial...(x:y:z) = (1 : 1 : 0)
Point = [218974:11328023:8]
height = 11.4827447652308852790130227025168290728280040230824
Rank of B=im(eps) increases to 3
(1,0,106209,55699200,5492588544) --nontrivial...(x:y:z) = (1 : 1 : 0)
Point = [-141610:55770001:8]
height = 10.3302332544875895056301104557603387856715464732049
Rank of B=im(eps) increases to 4
(1,-1,-154173,8834360,4449633100) --nontrivial...(x:y:z) = (1 : 1 : 0)
Point = [1644532:69235889:64]
height = 11.7002057333692153746721973178788430852437315582425
Rank of B=im(eps) increases to 5
(1,2,-50825775,197184311888,-215166592255424) --nontrivial...(x:y:z) = (1 : 1 : 0)
Point = [8470963:24650156726:1]
height = 12.7212304727049559592490676880048355572479951461661
Rank of B=im(eps) increases to 6
(1,2,-457587,148456132,-10941975964) --nontrivial...--new (A) #1 (x:y:z) = (1 : 1 : 0)
Point = [76265:18576082:1]
height = 9.80847862275472614146303766858310619081781113771917
Size of A=ker(eps) increases to 2
(1,2,275793,12561872,100417216) --nontrivial...(x:y:z) = (1 : 1 : 0)
Point = [-45965:1558742:1]
height = 7.1124160555385017138543826219232258062506120422326
Rank of B=im(eps) increases to 7
(9,-6,-457587,49790436,-1232321076) --nontrivial...--equivalent to (A) #1
(36,-47,-115377,1833888,147270796) --nontrivial...--new (A) #2 (x:y:z) = (1 : 6 : 0)
Point = [265885080:18099825973:13824]
height = 15.5988971231435288000655531265862695040572334387229
Size of A=ker(eps) increases to 3
(81,-18,-457587,16596812,-136924564) --nontrivial...--equivalent to (A) #1
(81,90,-457551,16291760,-131443136) --nontrivial...--equivalent to (A) #1
(81,-126,-457515,16901852,-142507676) --nontrivial...--equivalent to (A) #1
(289,390,-3583851,214362260,-3608994444) --nontrivial...--equivalent to (A) #2
(324,-573,-115020,688119,16146846) --nontrivial...--equivalent to (A) #2
(361,-142,224037,2394828,5996916) --nontrivial...--new (A) #3 (x:y:z) = (1 : 19 : 0)
Point = [-256085971:39857828834:6859]
height = 15.7843641858060237367375581970740197608170491286891
Size of A=ker(eps) increases to 4
(361,-263,-314667,4008872,-5767984) --nontrivial...--equivalent to (A) #1
(529,578,21429,1954188,12621420) --nontrivial...--equivalent to (A) #3
(625,278,-146691,262908,7452324) --nontrivial...--equivalent to (A) #3
(1849,-3530,-40851,744300,3048516) --nontrivial...--equivalent to (A) #2
(2916,-1719,-115020,229373,1794094) --nontrivial...--equivalent to (A) #2
(2916,2169,-114795,152552,1857744) --nontrivial...--equivalent to (A) #2
(2916,-5607,-111357,305048,1704956) --nontrivial...--equivalent to (A) #2
(3249,-426,224037,798276,666324) --nontrivial...--equivalent to (A) #3
(3249,3543,-313290,1126731,-230409) --nontrivial...--equivalent to (A) #1
(4761,1734,21429,651396,1402380) --nontrivial...--equivalent to (A) #3
(5625,834,-146691,87636,828036) --nontrivial...--equivalent to (A) #3
(7569,8002,-104871,86952,751760) --nontrivial...--equivalent to (A) #3
(9025,6510,225777,568784,344640) --nontrivial...--equivalent to (A) #3
(9409,3714,-108447,104576,589824) --nontrivial...--equivalent to (A) #2
(13225,-18270,30657,371696,352104) --nontrivial...--equivalent to (A) #3
(14641,-8350,-144351,101920,306224) --nontrivial...--equivalent to (A) #1
(15625,26390,-130023,-60104,296144) --nontrivial...--equivalent to (A) #3
(16641,-10590,-40851,248100,338724) --nontrivial...--equivalent to (A) #2
```

Just as a comment after the answer was given. The only related method that worked for me in

`SageMath version 8.0, Release Date: 2017-07-21`

wasbut this is the

analyticrank, the other story. The following code failed after a second:Then same output as above till...

There is a

`RuntimeError`

showing up. I don't think this is natural, thought it may be important to announce this.