6

I did some research about finding a rational solution for this equation $$ x^3 + y^3 = 1141\ , $$ and learned a little about elliptic curves. However, those solutions require a known rational solution. How do you solve this without a known rational solution?

I am able to find $(-19,20)$ and $(20,-19)$ but I need both coordinates to be positive and rational.

Arctic Char
  • 16,007

2 Answers2

4

There is a simple way to pass from the given equation to the equation of an elliptic curve in short Weierstraß form. First of all, a rational solution to the given equation $A=x^3+y^3$ is immediately leading via $x=v/u$, $y=1/u$ to one for: $$ E_{u,v}\ :\qquad Au^3 -v^3=1\ ,\qquad A=1141\text{ for short.} $$ We use the substitutions: $$ \left\{ \begin{aligned} u &= +\frac{6X}{Y+36A}\ ,\\ v &= -\frac{Y-36A}{Y+36A}\ , \end{aligned} \right. \qquad \left\{ \begin{aligned} X &= +12A\frac{u}{v+1}\ ,\\ Y &= -36A\frac{v-1}{v+1}\ , \end{aligned} \right. $$ and pass from the equation $(E_{u,v})$ to $$ E_{X,Y}\ :\qquad Y^2 = X^3 -432A^2\ . $$ For $A=1141$ the curve $E_{X,Y}$ has the following group of rational points: $$ E_{X,Y}(\Bbb Q)=\Bbb Z\cdot G\ , $$ where $G$ is the rational point $G=(13692, 1601964)$ computed below:

E = EllipticCurve(QQ, (0, -432*1141^2))
r = E.rank()
print(f'E has the torsion points: {E.torsion_points()}')
print(f'E has the rank: {r=}')
print(f'E has the generators: {[gen.xy() for gen in E.gens()]}')

... with the results:

E has the torsion points: [(0 : 1 : 0)]
E has the rank: r=1
E has the generators: [(13692, 1601964)]

So it is natural to compute some low multiples of $G$, and the corresponding points on $E_{u,v}$: $$ \scriptscriptstyle \begin{array}{|r|c|c|c|c|c|} \hline n & X(nG) & Y(nG) & u & v & \text{positive components?}\\ \hline -5 &\frac{107919499858822483698972}{130671988469474077921} & \frac{1419951486140003132497725950031444}{1493735662882618063636173450031} &\frac{90099894711425518980954732151}{764152273525981384682261984900} & \frac{729583389356636678953911465131}{764152273525981384682261984900} & OK\\\hline -4 &\frac{1505788158419692}{1557925852561} & -\frac{35882783087287412944556}{1944554753465210809} &\frac{1235415052524024021}{4819429005921295601} & \frac{12681563775265601680}{4819429005921295601} & OK\\\hline -3 &\frac{56173881}{36100} & -\frac{388326874221}{6859000} &-\frac{7115358260}{11842954469} & -\frac{74451906469}{11842954469} & \\\hline -2 &\frac{579628}{169} & -\frac{438203332}{2197} &-\frac{4953}{38120} & -\frac{57893}{38120} & \\\hline -1 &13692 & -1601964 &-\frac{1}{19} & -\frac{20}{19} & \\\hline 1 &13692 & 1601964 &\frac{1}{20} & -\frac{19}{20} & \\\hline 2 &\frac{579628}{169} & \frac{438203332}{2197} &\frac{4953}{57893} & -\frac{38120}{57893} & \\\hline 3 &\frac{56173881}{36100} & \frac{388326874221}{6859000} &\frac{7115358260}{74451906469} & -\frac{11842954469}{74451906469} & \\\hline 4 &\frac{1505788158419692}{1557925852561} & \frac{35882783087287412944556}{1944554753465210809} &\frac{1235415052524024021}{12681563775265601680} & \frac{4819429005921295601}{12681563775265601680} & OK\\\hline 5 &\frac{107919499858822483698972}{130671988469474077921} & -\frac{1419951486140003132497725950031444}{1493735662882618063636173450031} &\frac{90099894711425518980954732151}{729583389356636678953911465131} & \frac{764152273525981384682261984900}{729583389356636678953911465131} & OK\\\hline \end{array} $$ We come back to the $(x,y)$-world, and compute the corresponding solutions: $$ \scriptscriptstyle \begin{array}{|r|c|c|c|} \hline n & x(nG) & y(nG) & \text{positive components?}\\ \hline -8 &-\frac{20197700640338492383064954268566600825502944939084720003781660098370987006401}{2381305545249687781279351690485946649094912277333057869129944426443857745179} & \frac{28702892949049111292455992823667595666172140944311096279912913428625801411360}{2381305545249687781279351690485946649094912277333057869129944426443857745179} & \\\hline -7 &-\frac{10107111001800429822916755727649148165691949623610770407860}{4440038149850805694297164372288229670320006269351167798801} & \frac{46555479964811694055612989260219480802501737256206366430781}{4440038149850805694297164372288229670320006269351167798801} & \\\hline -6 &\frac{3251781815449699181565034034351186398064507}{982759974343824034008475397266016512177560} & \frac{10159490447312635405133019202725783999183493}{982759974343824034008475397266016512177560} & OK\\\hline -5 &\frac{729583389356636678953911465131}{90099894711425518980954732151} & \frac{764152273525981384682261984900}{90099894711425518980954732151} & OK\\\hline -4 &\frac{12681563775265601680}{1235415052524024021} & \frac{4819429005921295601}{1235415052524024021} & OK\\\hline -3 &\frac{74451906469}{7115358260} & -\frac{11842954469}{7115358260} & \\\hline -2 &\frac{57893}{4953} & -\frac{38120}{4953} & \\\hline -1 &20 & -19 & \\\hline 1 &-19 & 20 & \\\hline 2 &-\frac{38120}{4953} & \frac{57893}{4953} & \\\hline 3 &-\frac{11842954469}{7115358260} & \frac{74451906469}{7115358260} & \\\hline 4 &\frac{4819429005921295601}{1235415052524024021} & \frac{12681563775265601680}{1235415052524024021} & OK\\\hline 5 &\frac{764152273525981384682261984900}{90099894711425518980954732151} & \frac{729583389356636678953911465131}{90099894711425518980954732151} & OK\\\hline 6 &\frac{10159490447312635405133019202725783999183493}{982759974343824034008475397266016512177560} & \frac{3251781815449699181565034034351186398064507}{982759974343824034008475397266016512177560} & OK\\\hline 7 &\frac{46555479964811694055612989260219480802501737256206366430781}{4440038149850805694297164372288229670320006269351167798801} & -\frac{10107111001800429822916755727649148165691949623610770407860}{4440038149850805694297164372288229670320006269351167798801} & \\\hline 8 &\frac{28702892949049111292455992823667595666172140944311096279912913428625801411360}{2381305545249687781279351690485946649094912277333057869129944426443857745179} & -\frac{20197700640338492383064954268566600825502944939084720003781660098370987006401}{2381305545249687781279351690485946649094912277333057869129944426443857745179} & \\\hline \end{array} $$ Which is the "next point" with positive components on the given curve $x^3 + y^3 =A$?

As seen from the table, the symmetry $(x,y)\leftrightarrow (y,x)$ of the given curve corresponds to $nG\leftrightarrow -nG$. So we restrict to $n>0$. Then the "next point" with positive components is obtained by chance for $n=14$, and it has the components $$x=a/d^2\ , \qquad y=b/d^3\ ,$$ where:

$$ \scriptscriptstyle \begin{aligned} d &= 13 \cdot 67 \cdot 79 \cdot 229 \cdot 1973 \cdot 4273 \cdot 11801 \cdot 20369 \cdot 999912983 \cdot 7444893961 \cdot 98219876142023 \cdot 26821632623650536155443 \\ &=626230968765064500908406698002163698753726606441611774053929714399243715527427 \\[2mm] a&=366512605460575637459879550925446959825959721136405443562315244392970531278204356287931431460810492826906889647704298737769629439488179659856286740770212345068 \\ b&=3913269940586688523023028783172102841052906712137213720262934652110477241689555806926413983594233087186943792852425247864207345435773670081587851493680903057701817406317425792305980124580540094215664557964734757891690564577112872034328188 \end{aligned} $$


Note: The above first table was produced via:

A = 1141
G = EllipticCurve(QQ, (0, -432*A^2)).gens()[0]
for n in [-5..-1] + [1..5]:
    X, Y = (n*G).xy()
    u, v = 6*X/(Y + 36*A), -(Y - 36*A)/(Y + 36*A)
    ok = 'OK' if u > 0 and v > 0 else ''
    print(f'{n} &'
          f'{latex(X)} & {latex(Y)} &'
          f'{latex(u)} & {latex(v)} & {ok}\\\\\\hline')

and the second table, with the same G, and some more $n$-values:

for n in [-8..-1] + [1..8]:
    X, Y = (n*G).xy()
    u, v = 6*X/(Y + 36*A), -(Y - 36*A)/(Y + 36*A)
    x, y = v/u, 1/u
    ok = 'OK' if x > 0 and y > 0 else ''
    print(f'{n} &'
          f'{latex(x)} & {latex(y)} & {ok}\\\\\\hline')
dan_fulea
  • 32,856
  • What programming language is being used here? – Somos May 15 '23 at 23:49
  • @Somos This is sage, www.sagemath.org - it gives a good (object oriented - a matter of taste) functionality using python as "common language" and a "common world" for a lot of computer algebra systems (CAS). Pari/GP is for instance "parsed" here inside. Especially for the elliptic curve machine, but also sage proper code is added. Your theta-series identities can be (i'd say) easily tested in sage. Modular forms are well supported. If a $-CAS is present on the same machine (e.g. mathematica, maple, magma) - i think there is also a good chance to use it. Issues? Ask on ask.sagemath.org/ – dan_fulea May 16 '23 at 09:21
3

A key idea for solving $x^3 + y^3 = 1141$ is point doubling. I refer to the book by L. E. Dickson, History of the Theory of Numbers, Volume II, Chapter XXI, section 'Three equal sums of two cubes', pp. $572$-$578$. On page $572$ "Numbers the sum of two rational cubes: $x^3 + y^3 = Az^3$":

$\quad$ J. Pretet$^{181}$ employed Fermat's process to get the solution $$X = x(2y^3+x^3), \qquad Y = -y(2x^3+y^3), \qquad Z = z(x^3-y^3). $$

Given one solution $\;(x:y:z) = (20:-19:1)\;$ of $\;x^3+y^3=1141z^3,\;$ its double is $(-114360: 173679: 14859)$ which is equivalent to $(38120: -57893: -4953)$ in homogeneous coordinates. In order to get both $x$ and $y$ positive you can keep doubling the points. In fact the next doubling gives $$(12681563775265601680: 4819429005921295601: 1235415052524024021).$$

All the points $(x:y:z)$ in homogeneous coordinates that satisfy the elliptic curve equation $x^3+y^3=Az^3$ form an abelian group with a geometric group law. Doubling a point is a special case of addition of points. In any particular case, there may or may not be any positive rational solutions. However, if there is a non-torsion such solution (as is the case here) then there will be infinitely many such close to it.


In general, the solutions to $\,x^3 + y^3 = Az^3\,$ are given by generalized Somos-$5$ sequences. In the specific case of $\,A=1141\,$ we know that $\;(x:y:z) = (20:-19:1)\;$ is one solution and others can be found through doubling and addition of points. Now define the sequence of points $\,(x_n:y_n:z_n)\,$ through initial values $$ x_{-2} = 38120,\; x_{-1} = 19,\; x_0 = 1,\; x_1 = 20,\; x_2 = 57803 $$ and the recursion relation for all integer $\,n\,$ $$ x_{n+3}x_{n-2}=7115358260x_{n+2}x_{n-1}-249427630228957 x_{n+1}x_n. $$ Define the other sequence $\,y_n := -x_{-n}\,$ for all integer $\,n.\,$ Also define $\,z_n := \pm\sqrt[3]{(x_n^3 + y_n^3)/A}\,$ for $\,0\le n\le 5,\; z_{n} = -z_{-n}\,$ for $\,n<0\,$ and $\,y_n, z_n\,$ satisfy the same recursion relation as $\,x_n.\,$ You can verify that $\, x_n^3 + y_n^3 = Az_n^3\,$ for all integer $\,n.\,$

For convenience and as a check, here is a table of sequence values:

$$ \begin{array}{|r|r|r|r|} \hline n && x_n & y_n & z_n \\ \hline -3 && 11842954469 & -74451906469 & -7115358260 \\ \hline -2 && 38120 & -57893 & -4953 \\ \hline -1 && 19 & -20 & -1 \\ \hline 0 && 1 & -1 & 0 \\ \hline 1 && 20 & -19 & 1 \\ \hline 2 && 57893 & -38120 & 4953 \\ \hline 3 && 74451906469 & -11842954469 & 7115358260 \\ \hline 4 && 12681563775265601680 & 4819429005921295601 & 1235415052524024021 \\ \hline \end{array}$$

Approximately $1/3$ of all points have $\,x_n\,$ and $\,y_n\,$ of the same algebraic sign as $\,z_n\,$ and thus, the affine point $\,(x,y) := \big(\frac{x_n}{z_n}, \frac{y_n}{z_n}\big)\,$ satisfies $\,x^3+y^3 = 1141,\,$ is positive and rational since $\,x_n, y_n, z_n\in\mathbb{Z}.\,$ These points come in runs of either three or four consecutive points.


The general situation is we want to find rational points $\,(x,y)\,$ of the curve $\,E\!: x^3 + y^3 = A\,$ where $\,A\,$ is a fixed integer. It is natural to use homogeneous coordinates to modify the equation to $\,x^3 + y^3 = Az^3\,$ where $\,(x:y:z)\,$ is the homogeneous coordinates of the point $\,(x/z,y/z).\,$ The set of all points on the curve $\,E\,$ including the point at infinity $\mathcal{O}$ forms an abelian group using elliptic curve addition $\oplus$. The negation of point $\,(x,y)\,$ is $\,\ominus(x,y) = [-1](x,y) := (y,x)\,$ or $\,(y:x:z)\,$ in homogeneous coordinates. The additive identity is $\mathcal{O}:=\,(1:-1:0).\,$ The negative of the double of a point is, as given in Dickson,

$$ [-2](x:y:z) = (x(2y^3+x^3): -y(2x^3+y^3): z(x^3-y^3)). $$

Given two points $\,P_1 = (x_1:y_1:z_1)\,$ and $\,P_2 = (x_2:y_2:z_2),\,$ the negative of the group sum is

$$ \ominus(P_1 \oplus P_2) := ( x_1 x_1 y_2 z_2 - y_1 z_1 x_2 x_2: y_1 y_1 x_2 z_2 - x_1 z_1 y_2 y_2: z_1 z_1 x_2 y_2 - x_1 y_1 z_2 z_2). $$

The group of rational points is finitely generated and may have zero or more generators with torsion points. The Wikipedia article Elliptic curve covers some of the basics. The peculiar appearance of negative of addition is explained by the result that $\,P_1 \oplus P_2 \oplus P_3 = \mathcal{O}\,$ for addition of points on the curve is equivalent to $\,u_1P_1 + u_2P_2 + u_3P_3 = 0\,$ for some constants $\,u_1,u_2,u_3\,$ for the homogeneous point triples.

Somos
  • 35,251
  • 3
  • 30
  • 76
  • Does repeated doubling always eventually get all positive values? I realize that the successor to an all positive might not be all positive. – marty cohen May 15 '23 at 01:55
  • (12681563775265601680,4819429005921295601,1235415052524024021) works. The steps worked out as well. This is crazy. I should look more into the elliptic curve – Burgger Big May 15 '23 at 03:34
  • Unless this happens to be a rank zero curve, there will be infinitely many rational points with positive coordinates. This is because on a rank $\ge1$ curve the rational points form a dense subset of the real locus. +1 for explaing the process and working out a few points! – Jyrki Lahtonen May 15 '23 at 15:51
  • Dan Fulea (+1 to him also) used a CAS to work out that this is a rank one curve so there will be infinitely many positive rational points. – Jyrki Lahtonen May 15 '23 at 15:53
  • 1
    @JyrkiLahtonen it's not true in general that rational points are dense in real points, even in the positive rank case. For example if $E$ has 2 connected components over $\mathbb{R}$ it is possible that there are no points in one of the components (this is a manifestation of the Brauer-Manin obstruction to weak approximation). – Mummy the turkey Oct 04 '23 at 03:26
  • Thanks @Mummytheturkey. Yeah, I had in mind a curve with only a single connected component (which is compact leading to an infinite subgroup being dense, IIRC). I'm sadly ignorant about Brauer-Manin :-( And a bit surprised to learn that one component might have no rational points while the other one does. Can you describe an example? Actually that would deserve to be a separate question. – Jyrki Lahtonen Oct 04 '23 at 03:30
  • @JyrkiLahtonen Yeah, it's quite long to give an answer to that in a comment. After a quick search, I think (checking computationally) that the first example in the LMFDB is 359.a1 which has rank 1. You can try plotting points with Sage to convince yourself. – Mummy the turkey Oct 04 '23 at 04:29
  • Some code for the above E = EllipticCurve([1, -1, 1, -7, 8]); P = E(2,-1); pts = [n*P for n in range(1,500)]; pts = pts + [-Q for Q in pts]; pts = [Q.xy() for Q in pts]; pts = [Q for Q in pts if Q[0] < 6]; show(plot(E) + points(pts, rgbcolor=(1,0,0), pointsize=10)); – Mummy the turkey Oct 04 '23 at 05:26