Integral Points on Curves: x^4-5y^4=\pm{D} (D=4,1)
[2004.01.31]x^4-5y^4=±D (D=4,1)の整点
■Thue方程式
x4-5y4 = ±D ----- (1)
ただし、D=4,1
の整数解(x,y)を求める。
C4: x4-5y4 = 4 ----- (2)
C-4: x4-5y4 = -4 ----- (3)
C1: x4-5y4 = 1 ----- (4)
C-1: x4-5y4 = -1 ----- (5)
■曲線C4, C-1は整点を持たない。
Fermatの小定理より、x=1,2,3,4に対して、
x4≡1 (mod 5)
である。さらに、
04≡0 (mod 5)
より、(2)は、Z/5Zで解を持たないので、整数解を持たない。
よって、曲線C4は整点を持たない。
同様にして、(5)はZ/5Zで解を持たないので、整数解を持たない。
よって、曲線C-1は整点を持たない。
■以下では、参考文献[1]Chap.VIIに記述されている方法により、Thue方程式(3),(4)の整数解を求める。
最初に、(1)について考察する。
2項4次形式F(X,Y)を
F(X,Y) = X4-5Y4
とする。
F(X,1)の根を具体的に求めると、
θ(1)≒-1.495348781221220541911898994,
θ(2)≒1.495348781221220541911898994,
θ(3)≒-1.495348781221220541911898994*sqrt(-1),
θ(4)≒1.495348781221220541911898994*sqrt(-1)
の4個である。θ(1),θ(2)は実数、θ(3)=conj(θ(4))は純虚数である。
gp> polroots(x^4-5)
time = 47 ms.
%11 = [-1.495348781221220541911898994 + 0.E-28*I, 1.495348781221220541911898994 + 0.E-28*I, 0.E-35 + 1.495348781221220541911898994*I, 0.E-35 - 1.495348781221220541911898994*I]~
■F(X,1)の根の1つをθ、K=Q(θ)とする。
Kの類数は1である。
Kのfundamental unitsは、
η1 = (θ2-1)/2,
η2 = (θ3-θ2+θ-3)/2
であり、Kの1の根は±1である。
また、Gal(K/Q) = D4 (位数8の2面体群)である。
Kの整数環OKの基底は、
1, θ, (θ2+1)/2, θ(θ2+1)/2
である。
gp> nf=bnfinit(x^4-5)
time = 298 ms.
%12 = [[;], matrix(0,8), [-0.4812118250596034474977589134 - 6.283185307179586476925286766*I, 1.616921667511886513803486665 + 28.27433388230813914616379044*I; -0.4812118250596034474977589134 - 12.56637061435917295385057353*I, -1.616921667511886513803486665 + 40.84070449666731210001436398*I; 0.9624236501192068949955178268 + 6.283185307179586476925286766*I, 0.E-37 + 3.925438004483549872599260128*I], [1.655568419451511580236357529 + 6.283185307179586476925286766*I, -0.1989837279041760567811909240 + 0.E-38*I, -0.8021497373430187058265787308 + 0.E-38*I, -0.4837504956043904640014127787 + 0.E-38*I, 0.5678549212261415331528638762 + 3.141592653589793238462643383*I, 0.1989837279041760567811909240 + 0.E-38*I, 0.3337168268279328621648988726 + 0.E-38*I, 0.8561563592970654093648753001 + 3.141592653589793238462643383*I; -11.27980492064358053019153579 + 3.141592653589793238462643383*I, 0.6801955529637795042789498375 + 9.424777960769379715387930149*I, 1.133171171907496049802073887 + 0.E-38*I, 0.8147719301688678079769079349 + 0.E-38*I, -1.049066746285744980650622789 + 0.E-38*I, -0.6801955529637795042789498375 + 3.141592653589793238462643383*I, 0.8561563592970654093648753001 + 3.141592653589793238462643383*I, 0.3337168268279328621648988726 + 0.E-38*I; 9.624236501192068949955178268 + 6.276974057164819775009110362*I, -0.4812118250596034474977589134 + 7.775210873511299233547559903*I, -0.3310214345644773439754951563 + 4.999163194076670213850472539*I, -0.3310214345644773439754951563 + 9.924954722978539344326127632*I, 0.4812118250596034474977589134 + 8.245904309421361413224916830*I, 0.4812118250596034474977589134 + 4.791159740847873720303013630*I, -1.189873186124998271529774172 + 5.245279334837747077564118904*I, -1.189873186124998271529774172 + 7.321091279521425876286454628*I], [[2, [1, 1, 0, 0]~, 2, 2, [1, 1, 0, 0]~], [3, [-2, -1, 2, 0]~, 1, 2, [1, 1, -1, 0]~], [3, [-2, 1, 2, 0]~, 1, 2, [1, -1, -1, 0]~], [5, [0, 1, 0, 0]~, 4, 1, [0, -1, 0, 2]~], [11, [-2, 1, 0, 0]~, 1, 1, [-5, 3, 4, 2]~], [11, [2, 1, 0, 0]~, 1, 1, [5, 3, -4, 2]~], [19, [-3, 1, 0, 0]~, 1, 1, [5, 8, 6, 2]~], [19, [3, 1, 0, 0]~, 1, 1, [-5, 8, -6, 2]~]]~, [4, 2, 6, 5, 1, 3, 7, 8], [x^4 - 5, [2, 1], -2000, 4, [[1, -1.495348781221220541911898994, 1.618033988749894848204586834, -2.419525153051665330964032180; 1, 1.495348781221220541911898994, 1.618033988749894848204586834, 2.419525153051665330964032180; 1, 0.E-112 - 1.495348781221220541911898994*I, -0.6180339887498948482045868343 + 0.E-112*I, 0.E-112 + 0.9241763718304447890521331860*I], [1, 1, 2; -1.495348781221220541911898994, 1.495348781221220541911898994, 0.E-112 + 2.990697562442441083823797988*I; 1.618033988749894848204586834, 1.618033988749894848204586834, -1.236067977499789696409173668 + 0.E-112*I; -2.419525153051665330964032180, 2.419525153051665330964032180, 0.E-111 - 1.848352743660889578104266372*I], [4, 0.E-105, 2.000000000000000000000000000, 0.E-105; 0.E-105, 8.944271909999158785636694675, 0.E-105, 4.472135954999579392818347337; 2.000000000000000000000000000, 0.E-105, 6.000000000000000000000000000, 0.E-105; 0.E-105, 4.472135954999579392818347337, 0.E-105, 13.41640786499873817845504201], [4, 0, 2, 0; 0, 0, 0, 10; 2, 0, 6, 0; 0, 10, 0, 10], [-10, 0, 0, 0; 0, -10, 0, -4; 0, 0, -10, 0; 0, 0, 0, -2], [-600, 0, 200, 0; 0, 200, 0, -200; 200, 0, -400, 0; 0, -200, 0, 0], [1000, [0, 200, 0, 0]~]], [-1.495348781221220541911898994, 1.495348781221220541911898994, 0.E-112 - 1.495348781221220541911898994*I], [1, x, 1/2*x^2 + 1/2, 1/2*x^3 + 1/2*x], [1, 0, -1, 0; 0, 1, 0, -1; 0, 0, 2, 0; 0, 0, 0, 2], [1, 0, 0, 0, 0, -1, 0, 2, 0, 0, 1, 0, 0, 2, 0, 1; 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0; 0, 0, 1, 0, 0, 2, 0, 1, 1, 0, 1, 0, 0, 1, 0, 3; 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0]], [[1, [], []], 1.556163653203624448435594063, 0.8990661784202234828, [2, -1], [1/2*x^2 - 1/2, 1/2*x^3 - 1/2*x^2 + 1/2*x - 3/2], 127], [[;], [], []], 0]
gp> nf.clgp
time = 0 ms.
%13 = [1, [], []]
gp> nf.zk
time = 0 ms.
%14 = [1, x, 1/2*x^2 + 1/2, 1/2*x^3 + 1/2*x]
gp> nf.fu
time = 0 ms.
%15 = [1/2*x^2 - 1/2, 1/2*x^3 - 1/2*x^2 + 1/2*x - 3/2]
gp> polgalois(x^4-5)
time = 73 ms.
%16 = [8, -1, 1]
gp> nfrootsof1(nf)
time = 0 ms.
%17 = [2, [-1, 0, 0, 0]~]
gp> idealprimedec(nf,2)
time = 3 ms.
%18 = [[2, [1, 1, 0, 0]~, 2, 2, [1, 1, 0, 0]~]]
また、F(X,Y)=-4の整数解X,Yに対して、
β = X-θY
とする。OKの元でそのnormが-4であるものは、同伴数(associate)を同一とみると、
μ = θ+1
である。
βは、未知の整数a1,a2に対して、
β = ±μη1a1η2a2
と表すことができる。
i=1,2,3,4に対して、
β(i) = X-θ(i)Y = ±μ(i)ε(i),
μ(i) = θ(i)+1,
ε(i) = (η1(i))a1(η2(i))a2
とする。
gp> bnfisnorm(nf,-4)
time = 31 ms.
%102 = [Mod(x + 1, x^4 - 5), 1]
■互いに異なる添字i,j,k∈{1,2,3,4}を、iは以下を満たすもの、j,kは任意とする。
|β(i)| = min1 <=l <= n{|β(l)|}
とする。もちろん、iの値はa prioriに知ることはないので、可能なiの値の全てについて、それぞれ議論する。
I={i1,i2 : i1≠i2} ⊂ { 1,2,3 }に対して、2×2行列UIを
UI = [ log|η1(i1)|, log|η1(i2)| ;
log|η1(i2)|, log|η2(i2)| ]
とする。
■定数c1,c2,c3,c4を以下のように定義する。
c1 = 2*minl≠m{ |θ(l)-θ(m)| } ≒ 4.229485053762256478140148000 ,
c2 = maxl1≠l2≠l3≠l1{ |θ(l2)-θ(l3)|/|θ(l3)-θ(l1)| } ≒ 1.414213562373095048801688724,
c3 = c1c2 ≒ 5.981395124884882167647595976,
c4 = 1/max { ||UI-1||∞ : det(UI) != 0 }
≒ 0.05687565400421707955149350335.
ここで、||・||∞は行列のrow sum norm、つまり、n×n行列A=(ai,j)に対して、
|| A ||∞ = max1<=i<=n{ Σj=1n |ai,j| }
である。
gp> read("de5-2.gp")
time = 350 ms.
gp> c1=cc1(r)
time = 18 ms.
%1 = 4.229485053762256478140148000
gp> c2=cc2(r)
time = 10 ms.
%2 = 1.414213562373095048801688724
gp> c3=cc3(c1,c2)
time = 0 ms.
%3 = 5.981395124884882167647595976
gp> c4=cc4([r1,r2,r3])
time = 25 ms.
%4 = 0.05687565400421707955149350335
このとき、
|log|ε(t)|| = max1 <= l <= 3 |log|ε(l)||
となるt ∈ Iが存在するならば、
|log|ε(t)|| >= c4A
が成立する。
■定数c5,c6,c7を以下を満たすように決める。
c5 < c4/3
c6 = max1 <= l <= 4|μ(l)|-1 ≒ 2.018779570900780089584309507
c7 = min1 <= l <= 4|μ(l)|-1 ≒ 0.4007455821508852413797226729
例えば、
c5 = c4/(3+1e-25) ≒ 0.01895855133473902651716450048
とする。
gp> c5=cc5(c4)
time = 1 ms.
%5 = 0.01895855133473902651716450048
gp> c6
time = 0 ms.
%6 = 2.018779570900780089584309507
gp> c7
time = 0 ms.
%7 = 0.4007455821508852413797226729
Case A: |β(i)| > e-c5A かつ |ε(t)| >= e-c4Aの場合
A <= log(c6)/(c4-3*c5) = A1
ここで、A1 ≒ 1.68868159*1026である。
Case B: |β(i)| > e-c5A かつ |ε(t)| >= e-c4Aの場合
A <= log(c7)/(c4-c5) = A2
ここで、A2 ≒ -3.698697915100752865388724321である。
Case C: |β(i)| <= e-c5Aの場合
A >= log(2*c3)/c5 = A3
ならば、
|eΛ-1| = |α1τ1| <= 1/2
が成立する。
よって、
|Λ| <= 2c3e-c5A
となる。
ここで、A3 ≒ 20.07687236800414732558269602である。
gp> A1=AA1(c4,c5,c6,4)
time = 2 ms.
%8 = 1.68868159 E26
gp> A2=AA2(c4,c5,c7)
time = 0 ms.
%9 = -3.698697915100752865388724321
gp> A3=AA3(c3,c5)
time = 1 ms.
%10 = 20.07687236800414732558269602
■定数c9を以下を満たすように決める。
c9 = max1 <= i <= n { 23*4/|(∂F/∂X)(θ(i),1)| } ≒ 2.392558049953952867059038390
このとき、
|β(i)| <= c9|Y|-3
となる。
gp> c9=cc9(r,4)
time = 1 ms.
%11 = 2.392558049953952867059038390
■定数Y1を以下を満たすように決める。
Y1 = (c9/min2< l <=4|Imag(θ(l))|)1/3 if t >= 1
Y1 = 1 if t=0
このとき、|Y|>= Y1ならば、添字iは、{1,2}に所属する。
gp> Y1=YY1(c9,[r3,r4])
time = 1 ms.
%12 = 1.169607095285146426202714944
よって、|Y|>=2 ならば、i=1または2である。
■i=1の場合
ある整数a0に対して、対数の線形形式
Λ = log(-α2)+Σl=12al*log(ηl(2)/ηl(3))+a0*2π*sqrt(-1)
の全ての値を考察する。
A = max{ |a1|, |a2| }
とする。
ここで、
α2 = ±((θ(1)-θ(3))/(θ(2)-θ(1))) = ±(1-sqrt(-1))/2
である。α2の最小多項式は、2x2±2x+1である。
さらに、
(η1(2)/η1(3)) = ((θ(2)2-1)/(-θ(2)2-1))
の最小多項式は、
x2 + 3x + 1
である。
gp> ff=(1-x)^2-5*(1+x)^2
time = 0 ms.
%12 = -4*x^2 - 12*x - 4
gp> factor(%12)
time = 5 ms.
%13 =
[x^2 + 3*x + 1 1]
また、
(η2(2)/η2(3)) = ((θ(2)3-θ(2)2+θ(2)-3)/((θ(2)-3)+(θ(2)3-θ)*sqrt(-1)))
の最小多項式は、
x4 - 4x3 + 26x2 - 4x + 1
である。
gp> read("de5-2.gp")
time = 353 ms.
gp> f(x)=(x^3-x^2+x-3)/(x^3*I+x^2-x*I-3)
time = 0 ms.
gp> a1=f(r1)
time = 7 ms.
%1 = 1.924176371830444789052133186 - 4.655593130551455027373205849*I
gp> a2=f(r2)
time = 4 ms.
%2 = 0.07582362816955521094786681394 + 0.1834571755518756345548585115*I
gp> a3=f(r3)
time = 4 ms.
%3 = 1.924176371830444789052133185 + 4.655593130551455027373205847*I
gp> a4=f(r4)
time = 6 ms.
%4 = 0.07582362816955521094786681393 - 0.1834571755518756345548585114*I
gp> ff2=(x-a1)*(x-a2)*(x-a3)*(x-a4)
time = 1 ms.
%5 = x^4 + (-4.000000000000000000000000000 + 1.20853490 E-27*I)*x^3 + (25.99999999999999999999999999 - 4.79627430 E-28*I)*x^2 + (-3.999999999999999999999999999 - 1.00974195 E-27*I)*x + (0.9999999999999999999999999999 - 1.26217744 E-29*I)
gp> ff20=x^4-4*x^3+26*x^2-4*x+1
time = 1 ms.
%6 = x^4 - 4*x^3 + 26*x^2 - 4*x + 1
gp> factor(ff20)
time = 61 ms.
%7 =
[x^4 - 4*x^3 + 26*x^2 - 4*x + 1 1]
よって、それぞれのhightを計算すると、
h(α2) ≒ 0.3465735902799726547086160607,
h(η1(2)/η1(3)) ≒ 0.4812118250596034474977589134,
h(η2(2)/η2(3)) ≒ 0.8084608337559432569017433328
となる。
gp> h(2*x^2-2*x+1)
time = 14 ms.
%14 = 0.3465735902799726547086160607
gp> h(x^2+3*x+1)
time = 17 ms.
%15 = 0.4812118250596034474977589134
gp> h(x^4 - 4*x^3 + 26*x^2 - 4*x + 1)
time = 39 ms.
%16 = 0.8084608337559432569017433328
これらに対するmodified height hm(α)=max{h(α), |log α|/d, 1/d}を計算すると、
hm(α2) ≒ 0.3465735902799726547086160607,
hm(η1(2)/η1(3)) ≒ 0.4812118250596034474977589134,
hm(η2(2)/η2(3)) ≒ 0.8084608337559432569017433328
となる。
gp> hm(2*x^2-2*x+1,alpha2,16)
time = 8 ms.
%13 = 0.3465735902799726547086160607
gp> hm(x^2+3*x+1,et1(r2,r3),16)
time = 18 ms.
%14 = 0.4812118250596034474977589134
gp> hm(x^4-4*x^3+26*x^2-4*x+1,et2(r2,r3),16)
time = 38 ms.
%15 = 0.8084608337559432569017433328
■定数c8,A4を以下のように定義する。
c8 = 18*5!*45*(32*16)6*log(2*4*16) ≒ 193328986715464153576004.0961
A4 = (2/c5)*(log(2c3)+c8*log(3/2)+c8*log(c8/c5))
このとき、A >= 3ならば、
log|Λ| >= -c8log(3A/2)
が成立する。
よって、A >= max(3,A3)ならば、
A <= A4 ≒ 175522559327536088938356751.5
が成立する。
gp> c8=cc8(4,16)
time = 1 ms.
%17 = 193328986715464153576004.0961
gp> A4=AA4(c3,c5,c8)
time = 1 ms.
%18 = 175522559327536088938356751.5
gp> log(A4)/log(10)
time = 0 ms.
%19 = 26.24433294280654041524434555
■LLL-algorithmにより、Aの上限(175522559327536088938356751.5)を下げる。
C=10^90とする。以下の行列
[1, 0, 0;
-962423650119206894995517826848736846270368668771321039322036337680327735216443548824018858, -1616921667511886513803486665822354629213401254031085447995175583458460195497642836925033544, 0;
3141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825, -1178873651348018302163013319256389127298372160163543393037176720780815755750098013140514979, 6283185307179586476925286766559005768394338798750211641949889184615632812572417997256069650]
に対して、LLL-reduced matrixを求めると、
[-342547783314939695623767325147167746881941478815477560510780, -1567183201969786263211092322012980636646160941849351723540773, -2449903158534047100862616106264612841630232952533097954248435;
203891193112349002242155483854914624672567676141247780224924, 932818334957577634502701236171495344122790201387577511764688. 1458230653747843557707925656767609574183700594161746486328031;
209528684975025704636935748728020980736009399184545360048915, 958610306118299972348540988442287584326605659672931220076107. 1498550018792116733344302372546778385393732228693125520452672]
となる。
y=[0,[C/2],-[C/2]]tに対して、
l(L,y) >= 293670072497220664932242*1061
を得る。
これより、Aの新しい上限を求めると、
A < 570.1744230620324514150803833
となる。
gp> default(realprecision,200)
realprecision = 202 significant digits (200 digits displayed)
time = 0 ms.
gp> read("de5-2.gp")
time = 73 ms.
gp> aa=aaa(10^90,r2,r3)
time = 40 ms.
%20 =
[1 0 0]
[-962423650119206894995517826848736846270368668771321039322036337680327735216443548824018858 -1616921667511886513803486665822354629213401254031085447995175583458460195497642836925033544 0]
[3141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825 -1178873651348018302163013319256389127298372160163543393037176720780815755750098013140514979 6283185307179586476925286766559005768394338798750211641949889184615632812572417997256069650]
gp> bb=qflll(aa,1)
time = 93 ms.
%21 =
[-342547783314939695623767325147167746881941478815477560510780 -1567183201969786263211092322012980636646160941849351723540773 -2449903158534047100862616106264612841630232952533097954248435]
[203891193112349002242155483854914624672567676141247780224924 932818334957577634502701236171495344122790201387577511764688 1458230653747843557707925656767609574183700594161746486328031]
[209528684975025704636935748728020980736009399184545360048915 958610306118299972348540988442287584326605659672931220076107 1498550018792116733344302372546778385393732228693125520452672]
gp> lb1=lb(bb,10^90)
time = 54 ms.
%22 = 2936700724972206649322421857285905952863576228076084612547999.6197888437195195398979404308955085530055329503138056087302177458089386093136142354205469412978405981760522056154426559265857310675406296520
gp> log(lb1)/log(10)
time = 6 ms.
%23 = 60.467859690439850042928876573457426248677764777969910638116893646817782679750006468243264692922240377672556566463111155053099907168975339444033788811348886556623447680465302159433775612370402690883569
gp> A42=HH(10^90,A4,2*c3,c5,lb1,1)
time = 4 ms.
%24 = 570.1744230620324514150803833
■再度、LLL-algorithmにより、Aの上限(570.1744230620324514150803833)を下げる。
C=10^9とする。行列
[1, 0, 0;
-962423650, -1616921667, 0;
3141592653, -1178873651, 6283185307]
に対して、LLL-reduced matrixを求めると、
[-506455, 509007, 5672964;
301452, -302971, -3376660;
309787, -311348, -3470023]
となる。
y=[0,[C/2],-[C/2]]tに対して、
l(L,y) >= 6800186.1460790581743
を得る。
これより、Aの新しい上限を求めると、
A < 60.45212145059973531426936412
となる。
gp> aa2=aaa(10^9,r2,r3)
time = 18 ms.
%25 =
[1 0 0]
[-962423650 -1616921667 0]
[3141592653 -1178873651 6283185307]
gp> bb2=qflll(aa2,1)
time = 1 ms.
%26 =
[-506455 509007 5672964]
[301452 -302971 -3376660]
[309787 -311348 -3470023]
gp> lb2=lb(bb2,10^9)
time = 15 ms.
%27 = 6800186.1460790581743082638117649397232297685776219200634670314064066214996869394065321068650472742451478012537559079690781447724732609323377220107689080291386685385708906231551477015184444169936986148
gp> A43=HH(10^9,A42,2*c3,c5,lb2,1)
time = 4 ms.
%28 = 60.45212145059973531426936412
■さらにもう一度、LLL-algorithmにより、Aの上限(60.45212145059973531426936412)を下げる。
C=10^6とする。行列
[1, 0, 0;
-962423, -1616921, 0;
3141592, -1178873, 6283185]
に対して、LLL-reduced matrixを求めると、
[2552, -17076, -10329;
-1519, 10164, 6148;
-1561, 10445, 6318]
となる。
y=[0,[C/2],-[C/2]]tに対して、
l(L,y) >= 29337.92496925704907628
を得る。
これより、Aの新しい上限を求めると、
A < 48.65983922960521048418167922
となる。
gp> aa3=aaa(10^6,r2,r3)
time = 20 ms.
%29 =
[1 0 0]
[-962423 -1616921 0]
[3141592 -1178873 6283185]
gp> bb3=qflll(aa3,1)
time = 1 ms.
%30 =
[2552 -17076 -10329]
[-1519 10164 6148]
[-1561 10445 6318]
gp> lb3=lb(bb3,10^6)
time = 11 ms.
%31 = 29337.924969257049076282257668631644012732906963123572733083755151012878254793740568199399101493360868660045444468088464780838650101824577267230730493506655449046222913332819308934186859707359391587451
gp> A44=HH(10^6,A43,2*c3,c5,lb3,1)
time = 1 ms.
%32 = 48.65983922960521048418167922
■i=2の場合。j=3,k=1を選択する。
ある整数a0に対して、対数の線形形式
Λ = log(-α2)+Σl=12al*log(ηl(1)/ηl(3))+a0*2π*sqrt(-1)
の全ての値を考察する。
i=1の場合と同様にして、
A <= 48.66109992857204592508067642
を得る。
gp> aa=aaa(10^90,r3,r1)
time = 23 ms.
%33 =
[1 0 0]
[962423650119206894995517826848736846270368668771321039322036337680327735216443548824018858 -1616921667511886513803486665822354629213401254031085447995175583458460195497642836925033544 0]
[3141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825 1178873651348018302163013319256389127298372160163543393037176720780815755750098013140514979 6283185307179586476925286766559005768394338798750211641949889184615632812572417997256069650]
gp> bb=qflll(aa,1)
time = 39 ms.
%34 =
[342547783314939695623767325147167746881941478815477560510780 -1567183201969786263211092322012980636646160941849351723540773 -2449903158534047100862616106264612841630232952533097954248435]
[203891193112349002242155483854914624672567676141247780224924 -932818334957577634502701236171495344122790201387577511764688 -1458230653747843557707925656767609574183700594161746486328031]
[-209528684975025704636935748728020980736009399184545360048915 958610306118299972348540988442287584326605659672931220076107 1498550018792116733344302372546778385393732228693125520452672]
gp> lb1=lb(bb,10^90)
time = 15 ms.
%35 = 2692542087235211417717700506279492955137400108730510822843319.9595941782888113579647268133115825028171345875547147635869551767325380847437037596001505559852365775061075074238421397525207063839995740257
gp> log(lb1)/log(10)
time = 5 ms.
%36 = 60.430162500497839462674837141468105178826317783507298081059903503793274544183127966607187551856964933103834497558587850332427432113116915845203588587400664260355627288338758760790259938110213725234160
gp> A42=HH(10^90,A4,2*c3,c5,lb1,1)
time = 2 ms.
%37 = 570.8766116483583314561148472
gp> aa2=aaa(10^9,r3,r1)
time = 24 ms.
%38 =
[1 0 0]
[962423650 -1616921667 0]
[3141592653 1178873651 6283185307]
gp> bb2=qflll(aa2,1)
time = 1 ms.
%39 =
[-506455 -509007 5672964]
[-301452 -302971 3376660]
[309787 311348 -3470023]
gp> lb2=lb(bb2,10^9)
time = 9 ms.
%40 = 5215073.2088914117178423230184190760388797526663351093784875559961909584034309784851050925552283065704224286459479370848496722257192579967491199626531954744668453609060173221542220503305472588591434491
gp> A43=HH(10^9,A42,2*c3,c5,lb2,1)
time = 2 ms.
%41 = 62.59952604839907092741068433
gp> aa3=aaa(10^6,r3,r1)
time = 23 ms.
%42 =
[1 0 0]
[962423 -1616921 0]
[3141592 1178873 6283185]
gp> bb3=qflll(aa3,1)
time = 1 ms.
%43 =
[-2552 -17076 -10329]
[-1519 -10164 -6148]
[1561 10445 6318]
gp> lb3=lb(bb3,10^6)
time = 9 ms.
%44 = 29337.933207532343082906088191311354916832788036727409546040205286509590195263103641889126925651755488134063314426673053960351471826191207066501647442724320930105380531956485962889285691075546309936234
gp> A44=HH(10^6,A43,2*c3,c5,lb3,1)
time = 1 ms.
%45 = 48.66109992857204592508067642
■最後に、整数a1,a2 ∈ [-48,48]に対して、X-θY=±μ(η1)a1(η2)a2が成立するかどうか、調べる。
ただし、μはそのnormが-4であるOKの元
μ = θ+1
である。
これを満たす±(X-θY)は、
a1 |
a2 |
X |
Y |
0 |
0 |
1 |
-1 |
0 |
1 |
1 |
1 |
に限る。
よって、D=4のとき、(1)の整数解(X,Y)は、±(1,-1),±(1,1)に限る。
すなわち、(3)の整数解は、(±1,±1)の4個に限る。
gp> read("de5-2.gp")
time = 547 ms.
gp> check(48)
[0, 0]:x + 1
[0, 1]:-x + 1
time = 2,979 ms.
■同様にして、Thue方程式 x^4-5y^4=1を解く。
β=X-θYはOKの単数なので、μ=1として良い。
c9,Y1を計算すると、以下のようになる。
gp> read("de5-2.gp")
time = 56 ms.
gp> c9=cc9(r,1)
time = 1 ms.
%59 = 0.5981395124884882167647595976
gp> Y1=YY1(c9,[r3,r4])
time = 2 ms.
%60 = 0.7368062997280773211559645667
整数a1,a2 ∈ [-48,48]に対して、X-θY=±(η1)a1(η2)a2が成立するかどうか、調べる。
これを満たす±(X-θY)は、
a1 |
a2 |
X |
Y |
0 |
0 |
1 |
0 |
3 |
-2 |
3 |
-2 |
3 |
2 |
3 |
2 |
に限る。
よって、D=1のとき、(1)の整数解(X,Y)は、±(1,0),±(3,-2),±(3,2)に限る。
すなわち、(4)の整数解は、(±1,0), (±3,±2)の6個に限る。
gp> read("de5-2.gp")
time = 59 ms.
gp> check2(48)
[0, 0]:1
[3, -2]:2*x + 3
[3, 2]:-2*x + 3
time = 2,756 ms.
■曲線C4, C-4, C1, C-1の整点をまとめると、以下のようになる。
D |
CD : X^4-5Y^4 = D |
CD(Z)の元 |
#CD(Z) |
4 |
C4 :X^4-5Y^4 = 4 |
- |
0 |
-4 |
C-4 :X^4-5Y^4 = -4 |
(±1,±1)
| 4 |
1 |
C1 :X^4-5Y^4 = 1 |
(±1,0), (±3,±2) |
6 |
-1 |
C-1 :X^4-5Y^4 = -1 |
- |
0 |
[参考文献]
- [1]Nigel P. Smart, "The Algorithmic Resolution of Diophantine Equations", LMSST 41, Cambridge University Press, 1998, ISBN0-521-64633-2.
- [2]Henri Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag New York Inc., 1996, ISBN-387-55640-0.
- [3]Takaaki Kagawa, "Elliptic curves with everywhere goood reduction over real quadraric fields", March 1998, p1-60.
Last Update: 2005.06.12 |
H.Nakao |