We are trying to write a snippet of Magma code to clarify the steps in the simplified procedure of applying $3$-, $6$-, $12$-descent and hopefully resolve the missing generator of the following $\mathbb{Z}/2\mathbb{Z}\times\mathbb{Z}/6\mathbb{Z}$ elliptic curve



```
[1,0,1,-737894644327026219218841358570509913846652580014,190908291625785611127850212005200136993025927512858679851032108028536736]

```

For the curve above, Magma finished with no results after $8$ hours of calculation by the code provided in [our last question](https://mathoverflow.net/questions/384358/z-8z-elliptic-curve-with-a-missing-generator).


Jeremy Rouse mentioned a possibility for a $12$-descent in his [answer](https://mathoverflow.net/questions/337621/one-more-generator-needed-for-a-z-6-elliptic-curve) and we are giving it a try, first on a much simpler example. The $\mathbb{Z}/2\mathbb{Z}\times\mathbb{Z}/6\mathbb{Z}$ curve picked for the example is [the first listed curve](https://web.math.pmf.unizg.hr/%7Eduje/tors/z2z6old5.html) of rank $5$ and was found by Andrej Dujella and Odile Lecacheux in 2002. After excluding the known fifth generator, the Magma code below finishes in seconds



```
SetSeed(1);
SetClassGroupBounds("GRH");
E := EllipticCurve([1,0,0,-990429690240960203866170,343844266388187332499781887080604900]);
P1 := E![362420681137020,-408828906980859623550,1331];
P2 := E![-1066222741232220,-1851493430168317495890,2197];
P3 := E![750977864252,153560007655023662,1];
P4 := E![39632200740,-551954373755495370,1];
twocovers := TwoDescent(E : RemoveTorsion := true, RemoveGens := {P1,P2,P3,P4}); twocovers;
fourcovers := FourDescent(twocovers[1] : RemoveTorsion := true, RemoveGensEC := {P1,P2,P3,P4}); fourcovers;

[
    Hyperelliptic Curve defined by y^2 = -976393404*x^4 + 126501871188*x^3 + 
        6097632845221*x^2 - 26425276020330*x - 28246659713775 over Rational Field
]
[
    Curve over Rational Field defined by
    56*$.1\*$.2 + 96*$.2^2 - 332\*$.3^2 - 419*$.3\*$.4 - 549*$.4^2,
 1040\*$.1^2 - 235*$.1\*$.2 - 700*$.2^2 - 6216\*$.3^2 + 1938*$.3\*$.4 + 1678*$.4^2
]

```

The $3$-descent procedure finishes with $364$ plane cubics. We pick the first cubic for the $6$- and $12$-descent.



```
> threecovers := ThreeDescent(E); threecovers[1];
Curve over Rational Field defined by
12775*x^3 - 213350*x^2*y + 942170*x^2*z - 88289*x*y^2 + 553567*x*y*z - 543603*x*z^2 + 430380*y^3 + 443901*y^2*z - 1669713*y*z^2 - 1069038*z^3

```

After performing the $6$- and $12$-descent we end up with a set for $6$-coverings and two sets for $12$-coverings.



```
sixcovers := SixDescent(twocovers[1], threecovers[1]); sixcovers;            
twelvecovers := TwelveDescent(threecovers[1], fourcovers[1]); twelvecovers[1]; twelvecovers[2];

```

Using low bounds, we can find rational points on all mentioned coverings



```
> pts3_1 := PointSearch(threecovers[1], 1); pts3_1;                  
[ (-1/6 : 11/6 : 1) ]

> pts6 := PointSearch(sixcovers, 10^3); pts6;
[ (508/45 : 20/27 : 184/135 : -181/135 : 34/45 : 1) ]

> pts12_1 := PointSearch(twelvecovers[1], 2^22); pts12_1;                  
[ (504019/310873 : -231041/621746 : -246784/310873 : -896865/310873 : 3605/2122 : -1218/293 : -2915619/621746 : -3758649/621746 : -1032025/310873 : 1818903/1243492 : 12593/621746 : 1), (-504019/310873 : 231041/621746 : 246784/310873 : 896865/310873 : -3605/2122 : 1218/293 : -2915619/621746 : -3758649/621746 : -1032025/310873 : 1818903/1243492 : 12593/621746 : 1) ]

> pts12_2 := PointSearch(twelvecovers[2], 2^2); pts12_2;                  
[ (-3 : 2 : -1 : 4 : 3 : -3 : -3 : 1 : -1 : 0 : -2 : 1), (3 : -2 : 1 : -4 : -3 : 3 : -3 : 1 : -1 : 0 : -2 : 1) ]

```

At this stage, we don't have enough Magma experience to finish the procedure as described in Tom Fisher's article



> 
> T. Fisher, *Finding rational points on elliptic curves using 6-descent and 12-descent*, arXiv, Number Theory [math.NT] (2007), arXiv:[0711.3774v1](https://arxiv.org/pdf/0711.3774v1.pdf)
> 
> 
> 



> 
> **Question.** What would be the additions / modifications to the Magma code above to map the found rational point(s) on the covering(s) to obtain an additional independent rational point on the $\mathbb{Z}/2\mathbb{Z}\times\mathbb{Z}/6\mathbb{Z}$ curve $E$?
> 
> 
> 


Mwrank easily finds the fifth generator with a height $22.40$, we are trying to map to it starting with the $3$-, $6$-, $12$-covering code and the obtained above rational points on those coverings.



```
[2564259058573620:-129850258689118106435370:1]

```


3-, 6-, 12-descent for Z2xZ6 elliptic curves
The snippet below worked for me. The numerical values of $b\_6$ and $b\_{12}$ are the lowest powers of $2$ to produce rational points on the picked coverings.



```
SetSeed(1);
SetClassGroupBounds("GRH");
E := EllipticCurve([1,0,0,-990429690240960203866170,343844266388187332499781887080604900]);
P1 := E![362420681137020,-408828906980859623550,1331];
P2 := E![-1066222741232220,-1851493430168317495890,2197];
P3 := E![750977864252,153560007655023662,1];
P4 := E![39632200740,-551954373755495370,1];
twocovers := TwoDescent(E : RemoveTorsion := true, RemoveGens := {P1,P2,P3,P4}); twocovers;
fourcovers := FourDescent(twocovers[1] : RemoveTorsion := true, RemoveGensEC := {P1,P2,P3,P4}); fourcovers;
SetVerbose("Selmer", 3);

print("### The next stage will take some time and RAM... ###");
S3, S3toA := ThreeSelmerGroup(E); S3; S3toA; S3toA(0);
threecovers_1, maps3toE := ThreeDescentCubic(E, S3toA(0)); threecovers_1; maps3toE;

print("###### 6-Descent ######");
sixcovers, maps6to3 := SixDescent(twocovers[1], threecovers_1); sixcovers; maps6to3;
b_6 := 2^28; pts6 := PointSearch(sixcovers, b_6 : OnlyOne := true); pts6[1];
pts3 := maps6to3(pts6[1]);
P5 := maps3toE(pts3); Height(P5);
S := [P1, P2, P3, P4, P5]; S;
IsLinearlyIndependent(S);

print("############ 12-Descent ############");
twelvecovers, maps12to4 := TwelveDescent(threecovers_1, fourcovers[1]); twelvecovers[1]; twelvecovers[2];
b_12 := 2^33; pts12_1 := PointSearch(twelvecovers[1], b_12 : OnlyOne := true); pts12_1[1]; pts12_2 := PointSearch(twelvecovers[2], b_12 : OnlyOne := true); pts12_2[1]; 
pts4_1 := maps12to4[1](pts12_1[1]); pts4_1; pts4_2 := maps12to4[2](pts12_2[1]); pts4_2;
_, maps4toE := AssociatedEllipticCurve(fourcovers[1] : E := E);
P5_1 := maps4toE(pts4_1); P5_1; Height(P5_1); P5_2 := maps4toE(pts4_2); P5_2; Height(P5_2);
S_1 := [P1, P2, P3, P4, P5_1]; S_1; S_2 := [P1, P2, P3, P4, P5_2]; S_2;
IsLinearlyIndependent(S_1); IsLinearlyIndependent(S_2);

```

The bounds $b\_6$ and $b\_{12}$ are comparatively high because of the picked $3$-Selmer element `S3toA(0)` and our choice to remove the torsion points and known generators in the $2$- and $4$-descent procedures.


By picking a different element `T[i]` from a set `T` of $729$ $3$-Selmer elements



```
T := [S3toA(s) : s in S3];

```

(or simply by looping through all of them) we could have found rational points on the generated $6$- and $12$-coverings for the lower bounds $b\_6$ and $b\_{12}$.


By removing the torsion points and known generators in $2$- and $4$-descent, we guarantee that a new rational point on a $6$- or $12$-covering will eventually map to the fifth missing generator of $E$.


