Homeに戻る  一覧に戻る 

Rational Points on Elliptic Curves: 2u(u^2-1)=v(v^2-1), y^2=x^3-12x+20


[2004.02.29]2u(u^2-1)=v(v^2-1), y^2=x^3-12x+20の有理点


■Diophantus方程式
     C: 2u(u2-1)=v(v2-1)
で表される曲線の有理点(x,y)を求める。

■曲線Cは、変換(u,v)→(-u,-v)によって、不変である。
つまり、曲線Cは、原点に対して、対称である。

■曲線Cは、自明な整点(0,0),(0,±1),(±1,0),(±1,±1)を持つ。
なぜならば、(1)の両辺をそれぞれ因数分解すると、
     2u(u+1)(u-1)=v(v+1)(v-1)
になるので、明らかである。

■曲線Cは、整点(4,5),(-4,-5)を持つ。
簡単な計算により、確認できる。

■3次曲線Cは、実は楕円曲線である。
参考文献[1]の方法によって、曲線Cを楕円曲線の標準形に変換する双有理変換を見つけることができる。
ここでは、結果のみ記述する。
曲線Cは、双有理変換ψ:(u,v)→(2(u-2v)/(2u-v),6/(2u-v))
[逆変換は、φ:(x,y)→((-x+4)/y,-2(x-1)/y)]
によって、楕円曲線
     E: y2 = x3-12x+20
に写される。
ただし、ψ((0,0))=O, φ(O)=(0,0)とする。ここで、O=[0:1:0]は、曲線Eの無限遠点である。
[pari/gpによる計算]
gp>  read("./de10.gp")
time = 40 ms.
gp>  cc(u,v)
time = 2 ms.
%1 = 2*u^3 - 2*u + (-v^3 + v)
gp>  cc((-x+4)/y,-2*(x-1)/y)
time = 52 ms.
%2 = 6/y^3*x^3 - 72/y^3*x + ((-6*y^2 + 120)/y^3)
gp>  cc((-x+4)/y,-2*(x-1)/y)*y^3/6
time = 9 ms.
%3 = x^3 - 12*x + (-y^2 + 20)
gp>  ee(2*(u-2*v)/(2*u-v),6/(2*u-v))
time = 19 ms.
%5 = (72*u^3 - 72*u + (-36*v^3 + 36*v))/(8*u^3 - 12*v*u^2 + 6*v^2*u - v^3)
gp>  ee(2*(u-2*v)/(2*u-v),6/(2*u-v))*(2*u-v)^3/36
time = 11 ms.
%6 = 2*u^3 - 2*u + (-v^3 + v)
φとψは有理変換であり、しかも互いに逆変換であることは、容易に確かめられる。

■定数u0,x0
    u0 = 2(1/3) ≒ 1.259921049894873164767210607,
    x0 = -u02-2u0 ≒ -4.107243151757945804286126853
とする。
明らかに、u0,x0は、どちらも無理数である。
曲線Cは、直線u0u-v=0に漸近する。
また、x0は、3次方程式
    x3-12x+20 = 0
の(唯一の)実根である。ちなみに、他の2個の根は、虚根
    -u02ω-2u0ω2,
    -u02ω2-2u0ω
である。ここで、ωは1の虚立方根 (-1+sqrt{-3})/2である。
[pari/gpによる計算]
gp>  poldisc(x^3-12*x+20)
time = 0 ms.
%9 = -3888
gp>  polroots(x^3-12*x+20)
time = 12 ms.
%10 = [-4.107243151757945804286126853 + 0.E-28*I, 2.053621575878972902143063426 - 0.8075176349448401807366660314*I, 2.053621575878972902143063426 + 0.8075176349448401807366660314*I]~
gp>  u_0
time = 0 ms.
%11 = 1.259921049894873164767210607
gp>  x_0
time = 0 ms.
%12 = -4.107243151757945804286126853
よって、点T(x0,0)は、楕円曲線Eの位数2のねじれ点(ただし、Q-有理点ではない)である。
つまり、
    E(Q(u0))tors = Z/2Z = {(x0,0), O}
である。
簡単な計算で、φ(T)=[1:u0:0] (曲線Cの無限遠点)であることが分かる。

■楕円曲線Eのねじれ点群E(Q)torsは、 自明である。

pari/gpで計算すると、以下のようになる。
     E(Q)tors = { O }

[pari/gpでの計算結果]
gp>  e=ellinit([0,0,0,-12,20])
time = 168 ms.
%7 = [0, 0, 0, -12, 20, 0, -24, 80, -144, 576, -17280, -62208, -3072, [-4.107243151757945804286126853, 2.053621575878972902143063426 - 0.8075176349448401807366660314*I, 2.053621575878972902143063426 + 0.8075176349448401807366660314*I]~, 3.306576446691676552896431412, -1.653288223345838276448215706 + 0.6308278397751906055582899564*I, -1.541344783990540800069075421 - 6.380788145954713217 E-29*I, 0.7706723919952704000345377105 - 1.244161724474688401459978250*I, 2.085880476918036017186324434]
gp>  elltors(e,1)
time = 73 ms.
%8 = [1, [], []]

■楕円曲線EのMordell-Weil群E(Q)をCremonaのmwrank3で計算すると、rankは1であり、その生成元は
     P(-2,6)
である。

     E(Q) = Z

[mwrank3での計算結果]
bash-2.05a$ mwrank3 -b 10 -c 10
Program mwrank: uses 2-descent (via 2-isogeny if possible) to
determine the rank of an elliptic curve E over Q, and list a
set of points which generate E(Q) modulo 2E(Q).
and finally search for further points on the curve.
For more details see the file mwrank.doc.
For details of algorithms see the author's book.

Please acknowledge use of this program in published work, 
and send problems to John.Cremona@nottingham.ac.uk.

Version compiled on Feb 11 2003 at 17:40:15 by GCC 3.2.1
using base arithmetic option LiDIA_ALL (LiDIA bigints and multiprecision floating point)
Using LiDIA multiprecision floating point with 15 decimal places.
Enter curve: [0,0,0,-12,20]

Curve [0,0,0,-12,20] :  No points of order 2
Basic pair: I=36, J=-540
disc=-104976
2-adic index bound = 2
After 2-adic refinement (case 1); 2-adic index = 2
2-adic index = 2
Two (I,J) pairs
Looking for quartics with I = 36, J = -540
Looking for Type 3 quartics:
Trying positive a from 1 up to 2 (square a first...)
(1,0,-6,6,0)    --trivial
(1,1,0,4,4)     --trivial
(1,2,0,2,4)     --trivial
Trying positive a from 1 up to 2 (...then non-square a)
Finished looking for Type 3 quartics.
Looking for quartics with I = 576, J = -34560
Looking for Type 3 quartics:
Trying positive a from 1 up to 9 (square a first...)
(1,0,-60,240,-252)      --nontrivial...(x:y:z) = (1 : 1 : 0)
Point = [10 : 30 : 1]
        height = 0.78105309614837
Doubling global 2-adic index to 2
global 2-adic index is equal to local index
so we abort the search for large quartics
Rank of B=im(eps) increases to 1
Exiting search for large quartics after finding enough globally soluble ones.
Mordell rank contribution from B=im(eps) = 1
Selmer  rank contribution from B=im(eps) = 1
Sha     rank contribution from B=im(eps) = 0
Mordell rank contribution from A=ker(eps) = 0
Selmer  rank contribution from A=ker(eps) = 0
Sha     rank contribution from A=ker(eps) = 0
Rank = 1
Points generating E(Q)/2E(Q):
Point [10 : 30 : 1], height = 0.78105309614837
Height Constant = 1.80255783883123

Max height = 0.78105309614837
Bound on naive height of extra generators = 1.88934151618105
After point search, rank of points found is 1

Generator 1 is [-2 : 6 : 1]; height 0.312421238459348e-1

The rank and full Mordell-Weil basis have been determined unconditionally.
Regulator = 0.312421238459348e-1

 (7.6 seconds)
Enter curve: [0,0,0,0,0]

bash-2.05a$ 

■pari/gpで、楕円曲線E: y2 = x3-12x+20の有理点をいくつか計算すると、以下のようになる。
gp>  rpE(30)
[0]
[-2, 6]
[-2, -6]
[4, -6]
[4, 6]
[2, 2]
[2, -2]
[1, -3]
[1, 3]
[10, 30]
[10, -30]
[-4, -2]
[-4, 2]
[22, -102]
[22, 102]
[1/4, 33/8]
[1/4, -33/8]
[22/9, -62/27]
[22/9, 62/27]
[76/25, 426/125]
[76/25, -426/125]
[-38/49, -1842/343]
[-38/49, 1842/343]
[89, 839]
[89, -839]
[-542/169, 11094/2197]
[-542/169, -11094/2197]
[1684/289, -59754/4913]
[1684/289, 59754/4913]
[1310/841, 55010/24389]
[1310/841, -55010/24389]
[3001/1936, -192813/85184]
[3001/1936, 192813/85184]
[36622/6241, 6071322/493039]
[36622/6241, -6071322/493039]
[-27884/8649, -4036078/804357]
[-27884/8649, 4036078/804357]
[387202/4489, -240747978/300763]
[387202/4489, 240747978/300763]
[-95471/126025, 239492667/44738875]
[-95471/126025, -239492667/44738875]
[1837898/606841, -1598696966/472729139]
[1837898/606841, 1598696966/472729139]
[11324524/4618201, 22889032566/9924513949]
[11324524/4618201, -22889032566/9924513949]
[4569862/19351201, -352829515002/85125933199]
[4569862/19351201, 352829515002/85125933199]
[62918249/2815684, 493493124949/4724717752]
[62918249/2815684, -493493124949/4724717752]
[-969668810/242829889, 7795602793050/3784018160287]
[-969668810/242829889, -7795602793050/3784018160287]
[5720194684/577777369, -410013736656486/13888034618653]
[5720194684/577777369, 410013736656486/13888034618653]
[5462175802/5407984521, 1187120646034262/397697773689819]
[5462175802/5407984521, -1187120646034262/397697773689819]
[57135044641/28663505809, -9705961175390643/4852817523981127]
[57135044641/28663505809, 9705961175390643/4852817523981127]
[1082161385362/269181455929, 846426180885117402/139658607235275283]
[1082161385362/269181455929, -846426180885117402/139658607235275283]
[-1285257951676/636237546025, -3044847412217824418/507491697399111125]
[-1285257951676/636237546025, 3044847412217824418/507491697399111125]
time = 45 ms.
■pari/gpで、楕円曲線C: 2u(u2-1)=v(v2-1)の有理点をいくつか計算すると、以下のようになる。
gp>  rpC(30)
[0, 0]
[1, 1]
[-1, -1]
[0, 1]
[0, -1]
[1, -1]
[-1, 1]
[-1, 0]
[1, 0]
[-1/5, -3/5]
[1/5, 3/5]
[-4, -5]
[4, 5]
[3/17, 7/17]
[-3/17, -7/17]
[10/11, 4/11]
[-10/11, -4/11]
[-21/31, 39/31]
[21/31, -39/31]
[20/71, -85/71]
[-20/71, 85/71]
[-273/307, -203/307]
[273/307, 203/307]
[-85/839, -176/839]
[85/839, 176/839]
[2639/1849, 3081/1849]
[-2639/1849, -3081/1849]
[1496/9959, 7905/9959]
[-1496/9959, -7905/9959]
[29783/27505, -13601/27505]
[-29783/27505, 13601/27505]
[-69564/64271, 31240/64271]
[69564/64271, -31240/64271]
[-153497/1011887, -800033/1011887]
[153497/1011887, 800033/1011887]
[-2905320/2018039, -3397569/2018039]
[2905320/2018039, 3397569/2018039]
[4123247/40124663, 8547257/40124663]
[-4123247/40124663, -8547257/40124663]
[70949235/79830889, 52420720/79830889]
[-70949235/79830889, -52420720/79830889]
[-229597007/799348483, 958993403/799348483]
[229597007/799348483, -958993403/799348483]
[2560275620/3814838761, -4803962709/3814838761]
[-2560275620/3814838761, 4803962709/3814838761]
[-53400151643/58804919167, -21674370087/58804919167]
[53400151643/58804919167, 21674370087/58804919167]
[-86677950814/493493124949, -201704208140/493493124949]
[86677950814/493493124949, 201704208140/493493124949]
[5041070284563/1299267132175, 6298122408839/1299267132175]
[-5041070284563/1299267132175, -6298122408839/1299267132175]
[13657363524116/68335622776081, 41202761666885/68335622776081]
[-13657363524116/68335622776081, -41202761666885/68335622776081]
[594554074227999/593560323017131, -3985172613459/593560323017131]
[-594554074227999/593560323017131, 3985172613459/593560323017131]
[-3246045211023095/3235320391796881, 3213544625916064/3235320391796881]
[3246045211023095/3235320391796881, -3213544625916064/3235320391796881]
[-470019357018207/141071030147519567, -140598645949311697/141071030147519567]
[470019357018207/141071030147519567, 140598645949311697/141071030147519567]
[-1527573184230523760/1522423706108912209, -1532671276263714145/1522423706108912209]
[1527573184230523760/1522423706108912209, 1532671276263714145/1522423706108912209]
time = 42 ms.

[2004.03.05追記]
■定数aを0,±1以外の整数とするとき、曲線Ca: au(u2-1)=v(v2-1)について、考察する。

曲線Caは、双有理変換ψ:(u,v)→(a(u-av)/(au-v),-a(a2-1)/(au-v))
[逆変換は、φ:(x,y)→((x-a2)/y,a(x-1)/y)]
によって、楕円曲線
     Ea: y2 = x3-3a2x+a4+a2
に写される。
ただし、ψ((0,0))=O, φ(O)=(0,0)とする。ここで、O=[0:1:0]は、楕円曲線Eaの無限遠点である。

楕円曲線Eaの判別式Δ(Ea)は、
     Δ(Ea) = -432a8 + 864a6 - 432a4 = -432a4(a-1)2(a+1)2 ≠ 0      (a≠0,±1より)
である。

楕円曲線Eaの有理点を求めることができれば、曲線Caの有理点を求めることができる。

[pari/gpによる計算]
gp>  read("./de11.gp")
time = 75 ms.
gp>  cc(a,u,v)
time = 3 ms.
%1 = (u^3 - u)*a + (-v^3 + v)
gp>  cc(a,(x-a^2)/y,a*(x-1)/y)
time = 72 ms.
%2 = (-1/y^3*a^3 + 1/y^3*a)*x^3 + (3/y^3*a^5 - 3/y^3*a^3)*x + (-1/y^3*a^7 + ((y^2 + 1)/y^3)*a^3 - 1/y*a)
gp>  cc(a,(x-a^2)/y,a*(x-1)/y)*y^3/(a^3-a)
time = 32 ms.
%3 = -x^3 + 3*a^2*x + (-a^4 - a^2 + y^2)
gp>  ee(a,x,y)
time = 0 ms.
%4 = x^3 - 3*a^2*x + (a^4 + a^2 - y^2)
gp>  ee(a,a*(u-a*v)/(a*u-v),-a*(a^2-1)/(a*u-v))
time = 94 ms.
%5 = ((u^9 - u^7)*a^7 + (-v^3 + v)*u^6*a^6 + (-2*u^9 + 2*u^7)*a^5 + (2*v^3 - 2*v)*u^6*a^4 + (u^9 - u^7)*a^3 + (-v^3 + v)*u^6*a^2)/(u^9*a^3 - 3*v*u^8*a^2 + 3*v^2*u^7*a - v^3*u^6)
gp> ee(a,a*(u-a*v)/(a*u-v),-a*(a^2-1)/(a*u-v))*(a*u-v)^3/(a^6-2*a^4+a^2)
time = 21 ms.
%6 = (u^3 - u)*a + (-v^3 + v)
gp>  f(a,[x,y])
time = 4 ms.
%7 = [1/y*x - 1/y*a^2, 1/y*a*x - 1/y*a]
gp>  finv(a,[u,v])
time = 3 ms.
%8 = [(-v*a^2 + u*a)/(u*a - v), (-a^3 + a)/(u*a - v)]
gp>  finv(a,f(a,[x,y]))
time = 4 ms.
%9 = [x, y]
gp>  f(a,finv(a,[u,v]))
time = 10 ms.
%10 = [-u/-1, -v/-1]
gp>  e=ec(a)
time = 5 ms.
%11 = [0, 0, 0, -3*a^2, a^4 + a^2, 0, -6*a^2, 4*a^4 + 4*a^2, -9*a^4, 144*a^2, -864*a^4 - 864*a^2, -432*a^8 + 864*a^6 - 432*a^4, 6912*a^2/(-a^4 + 2*a^2 - 1), 0, 0, 0, 0, 0, 0]
gp>  e.disc
time = 0 ms.
%12 = -432*a^8 + 864*a^6 - 432*a^4
gp>  factor(%12)
time = 23 ms.
%13 = 
[a - 1 2]

[a 4]

[a + 1 2]


[参考文献]


Last Update: 2005.06.12
H.Nakao

Homeに戻る[Homeに戻る]  一覧に戻る[一覧に戻る]