Rational Points and Integral Points on Elliptic Curve:y^2+y=x^3-7x+6
[2003.03.03]y^2+y=x^3-7x+6の有理点と整点
■楕円曲線
E: Y2+Y=X3-7X+6 ------ (1)
の有理点を求める。
■楕円曲線Eの判別式 Δ,j-不変量 j,conductor Nは、それぞれ、
Δ = 5077
j = 37933056/5077
N = 5077
である。
[pari/gpによる計算]
gp> e=ellinit([0,0,1,-7,6])
time = 217 ms.
%1 = [0, 0, 1, -7, 6, 0, -14, 25, -49, 336, -5400, 5077, 37933056/5077, [1.946609824897100520216918725, 1.065820547696204967144896351, -3.012430372593305487361815076]~, 2.075843991543466524942087841, 1.480548268241414993307331110*I, -0.5697450237911257325045260071, -1.919762601687528028085309080*I, 3.073387226819025873544516424]
gp> e.j
time = 0 ms.
%2 = 37933056/5077
gp> e.disc
time = 0 ms.
%3 = 5077
gp> ellglobalred(e)
time = 7 ms.
%4 = [5077, [1, 0, 0, 0], 1]
■楕円曲線Eは、自明なねじれ点群を持つ。
つまり、Eのねじれ点群は、
E(Q)tors = {O}
である。
[pari/gpによる計算]
gp> elltors(e,1)
time = 57 ms.
%5 = [1, [], []]
■楕円曲線Eの有理点群のrankは、3であることが分かる。
Cremonaのmwrank3によって、このように有理点群の生成元P1(2,0), P2(-1,3), P3(4, 6)が見つかる。よって、
E(Q) = Z3
である。
■楕円曲線Eの全ての整点を、[4]の方法によって求める。
線形変換
X = x/4, Y = y/8-1/2 ----- (2)
[逆変換は、x = 4X, y = 8Y+4 ----- (2')]
により、以下の形式
C: y2 = f(x) ----- (3)
f(x) = x^3-112x+400 -------- (4)
を得る。
3次方程式 f(x) = 0の最大の実数根をγとする。 ------ (*)
任意のP ∈ E(Q)に対して、有理整数m1,m2,m3が存在して、
P = m1P1+m2P2+m3P3 ------ (5)
となる。
f(x)=x3-112x+400=0の根は、3個とも実数(いずれも無理数)であり、大きい順に、
γ ≒ 7.78643929958840,
γ' ≒ 4.26328219078482,
γ''≒-12.04972149037322
である。
(X,Y)がEの整点であるとする。
f(x) > 0 iff (γ'' < x < γ' または x > γ)
第一の場合、つまり、γ'' < x < γ'の範囲では、(2')より、
γ'' < 4X < γ' iff γ''/4 < X < γ'/4 iff -3 <= X <= 1
となり、Eの8個の整点
(X,Y)=(-3,0),(-3,-1),(-2,3),(-2,-4),(-1,3),(-1,-4),(0,2),(0,-3),(1,0),(1,-1) -------- (**)
を得る。
第二の場合、つまり、x > γの範囲で、Eの整点(X,Y)を求める。
gp> factor(x^3-112*x+400)
time = 3 ms.
%30 =
[x^3 - 112*x + 400 1]
gp> rr=polroots(x^3-112*x+400)
time = 29 ms.
%31 = [-12.04972149037322194944726030 + 0.E-28*I, 4.263282190784819868579585407 + 0.E-28*I, 7.786439299588402080867674900 + 0.E-28*I]~
gp> poldisc(x^3-112*x+400)
time = 1 ms.
%32 = 1299712
gp> [real(rr[1])/4,real(rr[2])/4]
time = 0 ms.
%34 = [-3.012430372593305487361815076, 1.065820547696204967144896351]
gp> for(x=-3,1,print("x=",x,";",factor(y^2+y-(x^3-7*x+6))))
x=-3;[y, 1; y + 1, 1]
x=-2;[y - 3, 1; y + 4, 1]
x=-1;[y - 3, 1; y + 4, 1]
x=0;[y - 2, 1; y + 3, 1]
x=1;[y, 1; y + 1, 1]
time = 25 ms.
E0(R)={ P ∈ E∩R2 | X(P) >= γ/4}∪{O},
ω = 2∫γ∞(dt/sqrt{f(t)}),
τ = ω2/ω1, Imag(τ) > 0
として、isomorphism φ:E0(R)→R/Zを以下のように定義する。
φ(P) = 0 (mod 1) if P=O
= (1/ω)∫x(P)∞(dt/sqrt{f(t)}) (mod 1) if y(P) >= 0
= -φ(-P) (mod 1) if y(P)<0
ここで一般性を失わず、φ(P) ∈ [0,1)として良い。
|φ(P)|の上限をm1,m2,m3のみに依存する形で計算する。
この結果より、φ(P1),φ(P2),φ(P3)の線形形式の上限を与えることができる。
また、楕円対数の線形形式に対するDavidの下限を合わせることにより、max{|m1|,|m2|,|m3|}の上限を計算することができる。
h^をcanonical(N\'eron-Tate) height、<P,Q>をN\'eron-Tate(Weil) pairing、つまり、
<P,Q> = h^(P+Q) - h^(P)-h^(Q)
とする。(5)より、
h^(P) = (1/2)Σ1<=i,j<=3<Pi,Pj>mimj --------- (6)
となる。また、3x3行列 H=((1/2)<Pi,Pj>)は正定値(positive definite)である。
■不等式1
P ∈ E(Q)が(5)で表現されるとすると、
h^(P) >= c1 max{|m1|2,|m2|2,|m3|2} ------- (7)
である。
ここで、対称行列Hの固有値をλ1,λ2,λ3とすると、c1=min{λ1,λ2,λ3}とすれば良い。
[pari/gpによる計算]
gp> p1=[2,0];p2=[-1,3];p3=[4,6];
time = 2 ms.
gp> read("c1.gp")
time = 14 ms.
gp> H=HH3(e,p1,p2,p3)
time = 162 ms.
%14 =
[0.3835216776657731028977253235 -0.2453045315910775958669912968 -0.2619735354984636030611846094]
[-0.2453045315910775958669912968 0.6025405520929260757775565471 0.5009136056317487549274863803]
[-0.2619735354984636030611846094 0.5009136056317487549274863803 0.7333892419965354015939871596]
gp> dd=matdet(H-x*matid(3))
time = 2 ms.
%15 = -x^3 + 1.719451471755234580269269030*x^2 - 0.5745359078168042115630965488*x + 0.05214294484479799622713992957
gp> ww=polroots(dd)
time = 18 ms.
%16 = [0.1614002851134513883452475457 + 0.E-28*I, 0.2462828101905163427029362922 + 0.E-28*I, 1.311768376451266849221085192 + 0.E-28*I]~
gp> h11=ellbil(e,p1,p1)/2
time = 43 ms.
%10 = 0.3835216776657731028977253235
gp> h12=ellbil(e,p1,p2)/2; h21=h12
time = 16 ms.
%11 = -0.2453045315910775958669912968
gp> h13=ellbil(e,p1,p3)/2;h31=h13
time = 11 ms.
%12 = -0.2619735354984636030611846094
gp> h22=ellbil(e,p2,p2)/2
time = 12 ms.
%13 = 0.6025405520929260757775565471
gp> h23=ellbil(e,p2,p3)/2;h32=h23
time = 12 ms.
%14 = 0.5009136056317487549274863803
gp> h33=ellbil(e,p3,p3)/2
time = 11 ms.
%15 = 0.7333892419965354015939871596
gp> H=[h11,h12,h13; h21,h22,h23; h31,h32,h33];U=[r,0,0;0,r,0;0,0,r];
time = 7 ms.
gp> dd=matdet(H-U)
time = 2 ms.
%17 = -r^3 + 1.719451471755234580269269030*r^2 - 0.5745359078168042115630965488*r + 0.05214294484479799622713992957
gp> ww=polroots(dd)
time = 21 ms.
%18 = [0.1614002851134513883452475457 + 0.E-28*I, 0.2462828101905163427029362922 + 0.E-28*I, 1.311768376451266849221085192 + 0.E-28*I]~
gp> poldisc(dd,x)
time = 1 ms.
%17 = 0.01082443847457089641082948472
gp> c1=min3(real(ww[1]),real(ww[2]),real(ww[3]))
time = 0 ms.
%18 = 0.1614002851134513883452475457
■不等式2
c2 = 2*max{|γ|,|γ'|,|γ''|}
とする。任意のx >= c2に対して、
|∫x∞(dt/sqrt{f(t)})| <= 4*sqrt(2)|x|-1/2 --------- (8)
となる。
[pari/gpによる計算]
gp> c2=2*max3(real(rr[1]),real(rr[2]),real(rr[3]))
time = 0 ms.
%19 = 15.57287859917680416173534980
■不等式3
u=1/2,v=0とする。
X0を正の有理整数で、X0 > vとする。
c0 = log|u| if v <= 0,
= log|u|+(1/2)*v/(X0-v) if v > 0,
c3 = c0+(1/12)*log|Δ|+(1/12)*log+|j|+(1/2)*log+|b2/12|+(1/2)*log 2*+1.07,
とする。
ここで、Δは(1)でQ上定義された楕円曲線Cの判別式、jはCのj-不変量、
log+|α|=log max{1,|α|}, (α ∈ R)
b2=a12+4a2
2* = 1 if b2=0
= 2 if b2!=0
である。
このとき、任意のP ∈ E(Q), X(P) >= X0に対して、
x(P) > 0,
h^(P)-(1/2)*log x(P) <= c3 ------ (9)
となる。
[pari/gpによる計算]
gp> c0=log(1/2)
time = 0 ms.
%20 = -0.6931471805599453094172321214
gp> c3=cc3(c0,e)
time = 1 ms.
%21 = 2.177704199710828403833765555
■不等式1,2,3より、
|φ(P)|=|(1/ω)∫x(P)∞(dt/sqrt{f(t)})| <= (4*sqrt(2)/ω)|x(P)|-1 <= (4*sqrt(2)/ω)exp(c3-c1M2) ----------- (10)
を得る。
■主不等式
P ∈ E0(R) iff x(P) >= γ iff X(P) >= u2γ+v なので、不等式2,3を満たすために、
X0 = floor(max{c2,u2γ+v,v})+1
とする。
r = rank(E(Q)) = 3,
M = max1<=i<=r|mi|,
t0 = max{ order(T) | T ∈ E(Q)tors} = order(O) = 1
hE = max{1,h(a/4,b/16),h(jE)} = max{1,h(-7/4,25/64), h(37933056/5077)} = max{1,log(24・7),log(212・33・73)} = log(37933056)
Ai >= max{h^(Ri),hE,(3πui2)/(|ω1|2Imag(τ)) ,(i=0,1,...,r)
ui = ωφ(Pi), (i=1,...,r)
e <= ε <= mini=0,...,r{(e|ω1|sqrt(AiImag(τ)))/(|ui|2sqrt(3π))}
とする。
M2 < c3c1-1-c1-1log(4*sqrt(2))+c4c1-1(log M+c7)(log log M+c8)r+2 ------- (11)
となる。ここで、
c4 = 2*107r+15*(2/e)2(r+1)2*(r+2)4r2+18r+14*(log ε)-2r-3*Πi=0rAi,
c5 = logε,
c6 = logε+hE,
c7 = c0+log(t0r)+(2t0-1)/(16t0r),
c8 = c6+(log(t0r)+(2t0-1)/(16t0r))/ log 16
である。
[pai/gpによる計算]
gp> X0=floor(max(c2,real(rr[3])/4))+1
time = 0 ms.
%42 = 16
gp> he=max(log(2^4*7),log(2^12*3^3*7^3))
time = 1 ms.
%43 = 17.45133347988961270250857939
gp> A0=AA(e,[0],he)
time = 2 ms.
%44 = 17.45133347988961270250857939
gp> A1=AA(e,p1,he)
time = 5 ms.
%45 = 17.45133347988961270250857939
gp> A2=AA(e,p2,he)
time = 5 ms.
%46 = 17.45133347988961270250857939
gp> A3=AA(e,p3,he)
time = 4 ms.
%47 = 17.45133347988961270250857939
gp> eb=eeb3(e,p1,p2,p3,A0,A1,A2,A3)
time = 16 ms.
%48 = 1.504847341289742649896508269
gp> c4=cc4(3,eb,A0*A1*A2*A3)
time = 0 ms.
%49 = 805893855148980805923.2817602
gp> c5=cc5(eb)
time = 0 ms.
%50 = 0.4086914586970515672216167679
gp> c6=cc6(c5,he)
time = 0 ms.
%51 = 17.86002493858666426973019616
gp> c7=cc7(c6,3,1)
time = 0 ms.
%52 = 18.97947056058810729445877473
gp> c8=cc8(c6,3,1)
time = 0 ms.
%53 = 18.26377960043824999950696384
gp> g(m)=m^2-(c3/c1+log(4*sqrt(2))/c1+(c4/c1)*(log(m)+c7)*(log(log(m))+c8)^5)
time = 0 ms.
gp> gdash(m)=2*m-(c4/c1)*((1/m)*(log(log(m))+c8)^5+(log(m)+c7)*5*(log(log(m))+c8)^4*(1/log(m))*(1/m))
time = 0 ms.
gp> nn(x)=x-g(x)/gdash(x)
time = 0 ms.
gp> x=10^100;for(i=1,300,x=nn(x);print(x))
5.000000000000000000000000000 E99
2.500000000000000000000000000 E99
1.250000000000000000000000000 E99
6.250000000000000000000000000 E98
.....
10340725147553106.94715476169
5237047238902854.864818241652
2748074561077451.476225038152
1617386663446347.408332487374
1218392475528397.815743070251
1151813414185761.190424166350
1149841975622368.331263644383
1149840242489048.833308605810
1149840242487709.334340123800
1149840242487709.334340123000
1149840242487709.334340123000
1149840242487709.334340123000
1149840242487709.334340123000
1149840242487709.334340123000
1149840242487709.334340123000
1149840242487709.334340123000
1149840242487709.334340123000
1149840242487709.334340123000
1149840242487709.334340123000
1149840242487709.334340123000
1149840242487709.334340123000
1149840242487709.334340123000
time = 1,977 ms.
gp>
主不等式(11)より、
M < 1149840242487709.334340123
であることが分かる。
しかし、ここで求めたMの上限は大き過ぎるので、LLL-algorithmによって、上限を下げる。
■不等式(10),(11)を単純に、
|φ(P)| < K1exp(-K2M2), M < K3 ------- (12)
と書くことができる。
ここで、
K1 = (4*sqrt(2)/ω)*exp(c3),
K2 = c1,
K3 = 1149840242487709.334340123000
である。
[pari/gpによる計算]
gp> K3=1149840242487709.334340123000
time = 0 ms.
%55 = 1149840242487709.334340122999
gp> K1=(4*sqrt(2)/2*real(e.omega[1]))*exp(c3)
time = 0 ms.
%56 = 51.82086070182433695661410303
gp> K2=c1
time = 0 ms.
%57 = 0.1614002851134513883452475457
gp> KK0(3,1,K3)
time = 0 ms.
%58 = 1.610988657570170368726688382 E64
gp> default(realprecision,120)
realprecision = 125 significant digits (120 digits displayed)
time = 0 ms.
gp> ec=ellinit([0,0,1,-7,6])
time = 22 ms.
%59 = [0, 0, 1, -7, 6, 0, -14, 25, -49, 336, -5400, 5077, 37933056/5077, [1.94660982489710052021691872502743328068781857961587030548886696873598326410010141138871516839694293705305886553347396026, 1.06582054769620496714489635178617622916180212027089674366471020078281510104199297727159160305355886479863939090614844988, -3.01243037259330548736181507681360950984962069988676704915357716951879836514209438866030677145050180185169825643962241015]~, 2.07584399154346652494208784175364314988581412828488805259687082736059421519221746202321139160465428564946231611407698292, 1.48054826824141499330733111064096025066420331462864741763452829586636505373136059051908757582163382263059109828445744923*I, -0.569745023791125732504526007202870171258638098924190878979915628752585427684743546151261402721516497543228067308941013321, -1.91976260168752802808530908084219098705796666029040244562906803127673901504417491612207462956863007670092748712282934711*I, 3.07338722681902587354451642416526057549362256580859834540661676509418378767781189197252528293468077880466290024799768978]
gp> K0=10^100
time = 0 ms.
%60 = 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
gp> a1=floor(K0*phi(ec,p1,K0))
time = 27 ms.
%61 = 8947146795646959693793668888605335221917957115950395113756578129932186990268052669253611878475538996
gp> a2=floor(K0*phi(ec,p2,K0))
time = 27 ms.
%62 = 6318797168819199971214222834571811007656595681330759309576375607215842712364963208657821482960750196
gp> a3=floor(K0*phi(ec,p3,K0))
time = 27 ms.
%63 = 5029295310083051074433773420900926763950580326159845305139661054631200597994299086687616838049249333
gp> bbb=qflll(aaa,1)
time = 38 ms.
%65 =
[-4287157519709954836752309 2049033606843818236931840 -6886418717679210924340519 -6238251880802671861645273]
[3228326330025308148803303 -5451529986020592208645350 -5402164350267634568951204 -7376351052076923660635636]
[-997188251280551006796010 -669919958266164879778141 -2426683704150807668513197 18713783610982536369502204]
[2297384258615348875620400 1948333307599334662018232 10795348893767456267025462 830707732121890292481703]
gp> cc1(bbb)
time = 30 ms.
%66 = 0.0660803198374230905081108250574233143766806398431304540235079691355308427756376055989878412765834754731282582180549947179
gp> b1n=nr(bbb)
time = 0 ms.
%67 = 5922344918371932021758294.76572697674113449243742280616778774827569378833362014610114592117382266748045221666099001785103
gp> b1n-8*sqrt(6)*K3
time = 0 ms.
%68 = 5922344895839756983254564.6066389144963
K0=10100とする。
A=[1, 0, 0; 0 ; 0, 1, 0 0 ; 0 0 1 0 ; [K0*φ(P1)] [K0*φ(P2)] [K0*φ(P3)] K0]
にLLL-algorithmを適用して、reduced basis {b1,b2,b3,b4}を求めると、
b1 = [
-4287157519709954836752309,
3228326330025308148803303,
-997188251280551006796010,
2297384258615348875620400]t
となる。
(m1,m2,m3,m0) ∈ Z4, |mi| < K3 (i=1,2,3)とする。
このとき、|m0| <= 3M+1である。
l=A([m1,m2,m3,m0]t)に対して、
||l||2 <= 3K32+(K0|φ(P)|+3K3)2 ------ (13)
である。他方、LLLより、
||b1||2 <= 23||l||2
K32+(K0|φ(P)|+3K3)2 ----- (14)
(13),(14)より、
K0|φ(P)| >= sqrt(2-3*||b1||2-3K32)-3K3 ------ (15)
(12),(15)より、
||b1|| >= 2(3/2)K3sqrt(12) = 8*sqrt(6)*K3 ----- (16)
ならば、
M2 <= K2-1(log(K0K1) - log(2-3*||b1||2-3K32)-3K3) ------ (17)
が成立する。
[pari/gpによる計算]
gp> M2=(1/K2)*(log(K0*K1)-log(sqrt(b1n^2/8-3*K3^2)-3*K3))
time = 0 ms.
%69 = 1104.119785337890971094693149
gp> sqrt(M2)
time = 0 ms.
%70 = 33.22829796029117966737120777
よって、
M <= 33
が得られた。
次に、K3=33, K0=1016,
A=[1, 0, 0; 0 ; 0, 1, 0 0 ; 0 0 1 0 ; [K0*φ(P1)] [K0*φ(P2)] [K0*φ(P3)] K0]
として、再度、LLL-algorithmを適用する。
[pari/gpによる計算]
gp> K3=33
time = 0 ms.
%95 = 33
gp> KK0(3,1,K3)
time = 1 ms.
%96 = 10929447936.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
gp> K0=10^16
time = 0 ms.
%97 = 10000000000000000
gp> a1=floor(K0*phi(ec,p1,K0))
time = 8 ms.
%98 = 8947146795646959
gp> a2=floor(K0*phi(ec,p2,K0))
time = 7 ms.
%99 = 6318797168819199
gp> a3=floor(K0*phi(ec,p3,K0))
time = 8 ms.
%100 = 5029295310083051
gp> aaa=[1,0,0,0;0,1,0,0;0,0,1,0;a1,a2,a3,K0]
time = 0 ms.
%101 =
[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[8947146795646959 6318797168819199 5029295310083051 10000000000000000]
gp> bbb=qflll(aaa,1)
time = 2 ms.
%102 =
[5588 -3891 -3775 -9243]
[-2333 -8769 3037 5158]
[-6141 -6046 522 -5594]
[-437 12063 1196 7824]
gp> b1n=nr(bbb)
time = 0 ms.
%103 = 8635.47815699860362978392500669897876847102075897450639503903811122540254202475402126032372042243420434303896158374617396
gp> b1n-8*sqrt(6)*K3
time = 0 ms.
%104 = 7988.81286490384461185984201097662344099201062408114548113280727347114900237602285425380083008280918235092998685992002803
gp> M2=(1/K2)*(log(K0*K1)-log(sqrt(b1n^2/8-3*K3^2)-3*K3))
time = 1 ms.
%105 = 203.2114454243046892841074635
gp> sqrt(M2)
time = 0 ms.
%106 = 14.25522519724976808070852812
よって、
M <= 14
が得られた。
さらに、K3=14, K0=1012,
A=[1, 0, 0; 0 ; 0, 1, 0 0 ; 0 0 1 0 ; [K0*φ(P1)] [K0*φ(P2)] [K0*φ(P3)] K0]
として、再度、LLL-algorithmを適用する。
[pari/gpによる計算]
gp> K3=14
time = 0 ms.
%83 = 14
gp> KK0(3,1,K3)
time = 1 ms.
%84 = 354041856.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
gp> K0=10^12
time = 0 ms.
%85 = 1000000000000
gp> a1=floor(K0*phi(ec,p1,K0))
time = 7 ms.
%86 = 894714679564
gp> a2=floor(K0*phi(ec,p2,K0))
time = 7 ms.
%87 = 631879716881
gp> a3=floor(K0*phi(ec,p3,K0))
time = 7 ms.
%88 = 502929531008
gp> aaa=[1,0,0,0;0,1,0,0;0,0,1,0;a1,a2,a3,K0]
time = 0 ms.
%89 =
[1 0 0 0]
[0 1 0 0]
[0 0 1 0]
[894714679564 631879716881 502929531008 1000000000000]
gp> bbb=qflll(aaa,1)
time = 2 ms.
%90 =
[-231 -747 306 421]
[-551 565 725 687]
[-565 116 -135 -777]
[839 253 -664 -420]
gp> b1n=nr(bbb)
time = 0 ms.
%91 = 1174.77997940039819185566886816970132602485346072784800134246716363671841021106815349425441530289261787323945925581227837
gp> b1n-8*sqrt(6)*K3
time = 0 ms.
%92 = 900.437128208682244857573051802641490124667342894300946958005596104610847935848870521790158795172911573556863918431489193
gp> M2=(1/K2)*(log(K0*K1)-log(sqrt(b1n^2/8-3*K3^2)-3*K3))
time = 1 ms.
%93 = 158.9724811254382465029087005
gp> sqrt(M2)
time = 0 ms.
%94 = 12.60842897134445717550412370
よって、
M <= 12
が得られた。
■最後に、|m1|,|m2|,|m3| <= 12について、P=m1P1+m2P2+m3P3が整点かどうかを確認する。
[pari/gpによる計算]
gp> check3(12,e,p1,p2,p3)
[342, 6324]
[406, -8181]
[11, -36]
[21, 95]
[816, -23310]
[37, -225]
[8, 21]
[0, 2]
[-3, 0]
[93, 896]
[3, 3]
[2, -1]
[-2, -4]
[52, -375]
[14, -52]
[-1, -4]
[1, -1]
[4, -7]
[4, 6]
[1, 0]
[-1, 3]
[14, 51]
[52, 374]
[-2, 3]
[2, 0]
[3, -4]
[93, -897]
[-3, -1]
[0, -3]
[8, -22]
[37, 224]
[816, 23309]
[21, -96]
[11, 35]
[406, 8180]
[342, -6325]
There are 36 integral points.
time = 10,978 ms.
(**)の8個の整点は、全て上記に含まれる。
よって、楕円曲線Eの整点は、
(-3,-1), (-3,0), (-2,-4), (-2,3), (-1,-4), (-1,3), (0,-3), (0,2), (1,-1), (1,0),
(2,-1), (2,0), (3,-4), (3,3), (4,-7), (4,6), (8,-22), (8,21), (11,-36), (11,35),
(14,-52), (14,51), (21,-96), (21,95), (37,-225), (37,224), (52,-375), (52,374), (93,-897), (93,896),
(342,-6325), (342,6324), (406,-8181), (406,8080), (816,-23310), (816,23309)
の36個に限る。
[2004.08.22追記]
■SIMATH-4.6(simcalc)によって、楕円曲線Eの整点を求める。
simcalcによって、楕円曲線EのMordell-Weil群E(Q)のrankは3であり、その生成元は、(1,0), (2,0), (0,2)である。
また、楕円曲線Eの整点を(Pと-Pを同一視して)求めると、
(-3,0), (-2,3), (-1,3), (0,2), (1,0), (2,0), (3,3), (4,6), (8,21), (11,35),
(14,51), (21,95), (37,224), (52,374), (93,896), (342,6324), (406,8180), (816,23309)
の18個となる。これらの点のそれぞれを(-1)倍した点もまた整点であるので、合計2+18=36個の整点を持つ。
[simcalcによる計算]
> E=EC(0,0,1,-7,6)
simcalc in free(): warning: junk pointer, too high to make sense.
E = EC(0, 0, 1, -7, 6)
> basismwg(E)
basis : PT(1, 0, 1)
PT(2, 0, 1)
PT(0, 2, 1)
simcalc in free(): warning: junk pointer, too high to make sense.
@ = 3
> faintp(E)
all nontrivial integral points modulo negation :
PT(-2, 3, 1) = PT(0, 1, 0) - PT(1, 0, 1) + PT(2, 0, 1) + 0*PT(0, 2, 1)
PT(1, 0, 1) = PT(0, 1, 0) + PT(1, 0, 1) + 0*PT(2, 0, 1) + 0*PT(0, 2, 1)
PT(14, 51, 1) = PT(0, 1, 0) + 2*PT(1, 0, 1) + 0*PT(2, 0, 1) + 0*PT(0, 2, 1)
PT(2, 0, 1) = PT(0, 1, 0) + 0*PT(1, 0, 1) + PT(2, 0, 1) + 0*PT(0, 2, 1)
PT(-3, 0, 1) = PT(0, 1, 0) - PT(1, 0, 1) - PT(2, 0, 1) + 0*PT(0, 2, 1)
PT(21, 95, 1) = PT(0, 1, 0) + 0*PT(1, 0, 1) - 2*PT(2, 0, 1) + 0*PT(0, 2, 1)
PT(406, 8180, 1) = PT(0, 1, 0) + 2*PT(1, 0, 1) + 2*PT(2, 0, 1) + 0*PT(0, 2,
1)
PT(11, 35, 1) = PT(0, 1, 0) - PT(1, 0, 1) + PT(2, 0, 1) - PT(0, 2, 1)
PT(816, 23309, 1) = PT(0, 1, 0) - 3*PT(1, 0, 1) + PT(2, 0, 1) - PT(0, 2, 1)
PT(8, 21, 1) = PT(0, 1, 0) - PT(1, 0, 1) + 0*PT(2, 0, 1) + PT(0, 2, 1)
PT(0, 2, 1) = PT(0, 1, 0) + 0*PT(1, 0, 1) + 0*PT(2, 0, 1) + PT(0, 2, 1)
PT(3, 3, 1) = PT(0, 1, 0) + PT(1, 0, 1) + 0*PT(2, 0, 1) + PT(0, 2, 1)
PT(-1, 3, 1) = PT(0, 1, 0) + 0*PT(1, 0, 1) - PT(2, 0, 1) - PT(0, 2, 1)
PT(4, 6, 1) = PT(0, 1, 0) - PT(1, 0, 1) - PT(2, 0, 1) - PT(0, 2, 1)
PT(52, 374, 1) = PT(0, 1, 0) - PT(1, 0, 1) + 2*PT(2, 0, 1) + PT(0, 2, 1)
PT(342, 6324, 1) = PT(0, 1, 0) + 0*PT(1, 0, 1) - PT(2, 0, 1) + 2*PT(0, 2, 1)
PT(37, 224, 1) = PT(0, 1, 0) + 0*PT(1, 0, 1) - PT(2, 0, 1) - 2*PT(0, 2, 1)
PT(93, 896, 1) = PT(0, 1, 0) + 2*PT(1, 0, 1) + PT(2, 0, 1) + 2*PT(0, 2, 1)
simcalc in free(): warning: junk pointer, too high to make sense.
@ = PT(-2, 3, 1)
[参考文献]
- [1]Joseph H. Silverman, John Tate(著), 足立 恒雄, 木田 雅成, 小松 啓一, 田谷 久雄(訳), "楕円曲線論入門", シュプリンガー・フェアラーク東京, 1995, p127, ISBN4-431-70683-6, {3900円}.
- [2]Joseph H. Silverman, "The Arithmetic of Elliptic Curves", GTM 106, Springer-Verlag New York Inc., 1986, p59-60, ISBN0-387-96203-4.
- [3]Nigel P. Smart, "The Algorithmic Resolution of Diophantine Equations", LMSST 41, Cambridge University Press, 1998, ISBN0-521-64633-2.
- [4]R. J. Stroeker, N. Tzanakis, "Solving elliptic diophantine equations by estimating linear forms in elliptic logarithms", Acta. Math., 3, p209-220, 1994.
| Last Update: 2005.08.21 |
| H.Nakao |