2010年4月wayne提问 :
如果,正整数a,b,N,满足,a2−ab+b2=N2,
试问,1≤a<b<10100以内的互质的解有多少组?
最终hujunhua通过利用Eisenstein整环给出了一个对于给定的N上面方程正整数解数目的公式, 并且给出了原理分析。
公式推导
看到这个信息,hujunhua快速给出了如下结论:
a、b互质时,N有且只能有1(mod3)的质因数。这是数论中关于Z(ω)的一个基本定理。
当N有k个1(mod3)的质因子时,a2−ab+b2=N2的互质解(a,b)对数为2k−1。
并且他认为:
在算法上,这个问题与求本原勾股数完全相同。关于本原勾股数的两个公式:
1、通解公式:a=∣u2−v2∣,b=2uv,c=u2+v2, 式中GCD(u, v)=1, u, v一奇一偶。
2、计数公式:c只含有1(mod4)的质约数,当c有k个1(mod4)的质约数时,本原(a,b)对有2k−1个。
wayne的问题中也有对应的通解公式和计数公式,它们对优化算法的作用应该是完全一样的。
wayne选择特殊的N对hujunhua的结论进行验证:
比如当N=7\times 13\times 19\times 31\times 37\times 43
其解有2^5=32组,如下:
{a,b}:
{5, 9237}, {157, 9312}, {368, 9413}, {873, 9640},
{880, 9643}, {960, 9677}, {1063, 9720}, {1383, 9848},
{1565, 9917}, {1592, 9927}, {1752, 9985}, {1933, 10048},
{2277, 10160}, {2435, 10208}, {2640, 10267}, {2687, 10280},
{2787, 10307}, {3127, 10392}, {3272, 10425}, {3355, 10443},
{3625, 10497}, {3707, 10512}, {3953, 10553}, {4103, 10575},
{4177, 10585}, {4272, 10597}, {4297, 10600}, {4755, 10643},
{4833, 10648}, {4925, 10653}, {4968, 10655}, {5295, 10663}
mathe认为可以有通解:
i)(u,v)=1,
⎩⎪⎪⎨⎪⎪⎧b=4uva=3u2−v2+2uvN=3u2+v2
ii)(u,v)=1,
⎩⎪⎪⎨⎪⎪⎧b=4uva=u2−3v2+2uvN=u2+3v2
当然我们还需要限定条件1≤a<b,还有可能有公共的因子2需要消去
然后hujunhua给出了改进的公式:
{a,b}={u2−v2,2uv−v2}
N=u2−uv+v2
u>v>0,Gcd(u,v)=1,u=−v(mod3)。
Eisenstein整环简介
hujunhua给出:
Z(ω)及丢番图方程a2−ab+b2=N2简介
一、Eisenstein整数环Z(ω)简介。
【定义1】(Eisenstein整数环)Z(ω):={a+bω∣a,b∈Z},ω是3次单位根,满足ω3=1,ω2+ω+1=0.
注1: ω的共扼根ω′=ω−1=ω2, 这对共轭复根具有平等对称的性质,随便取哪个当作ω定义Z(ω)都是一样的,因为有ω+ω′=−1使得Z(ω′)=Z(ω)。故Z(ω)中的数也并行采用a+bω′的形式,有互易转换a+bω=(a−b)−bω′.
在下文中,如用一个字符来表示Z(ω)中的数,不作声明时都用z(可带下标)。
【定义2】(范数)对于z=a+bω,N(z):=∣z∣2=(a+bω)(a+bω′)=a2−ab+b=:a⊗b ,称为z的范数。
注:⊗是为了简化书写而引入的一个二元运算符号。
【定义3】(单位元)范数等于1的Eisenstein整数称为Z(ω)的(乘法)单位元。
注1:Z(ω)中有6个单位元: ±1, ±ω, ±ω′,以下用 ϵ不定代指单位元。
注2:如果z1=ϵz2,就称z1和z2相伴。
【基本性质1】作为环,Z(ω)对加、减、乘法封闭。值得一提的是对乘法封闭的意义,即对任意的a+b\omega与c+d\omega, 存在e+f\omega=(a+b\omega)(c+d\omega)。由于降次公式\omega[sup]2[/sup]=-1-\omega,这是显然的。取范数可得代数恒等式
(a⊗b)(c⊗d)=(ac−bd)⊗(da+bc+bd)
胡子评曰:恒等式“两平方和乘积=两平方和”与此具有相似的背景和意义,它们在初等代数中都不是显然的,仿佛灵光一闪间妙手偶得之,但在Z(i)和Z(ω)中一点也不惊奇,就跟1+1=2差不多。从高端看初等的优势于此可见一斑。
【基本性质2】Z(ω)中成立算术基本定理,并且是唯一分解的整环。
注:Z(ω)中的素数有3类:
1) ω−ω′=:ρ, 具有性质ρ=ω−ω′=−(ω′−ω)=−ρ′, 所以ρ2=−N(ρ)=−3。可见3=−ρ2不是Z(ω)中的素数。
2) a+bω,a⊗b=1(mod6)的素数。即6m+1形的自然素数都不是Z(ω)中的素数,都可以唯一地分解为Z(ω)中一对共扼素数a+bω和a+bω′的积。
3) 2(mod3)的自然素数, 即2和6m-1形自然素数在Z(ω)仍然是素数。
二、几个对本帖有用的引理。
【引理1】 ω≡ω′≡1(modρ)
证:ω≡ω′(modρ)显然,两边乘以ω2得 ω≡ω′≡1(modρ).
推论1:a+bω≡a+bω′≡a+b(modρ)
推论2:a+bω≡0(modρ) 当且仅当a+b≡0(mod3).(证略)
注:事实上, ρ 与1−ω,1−ω′相伴,而且大多数书上选择的是ρ=1−ω.
【引理2】 Gcd(a+bω,a+bω′)∣ρGcd(a,b)
证:Gcd(a+bω,a+bω′)=Gcd(a+bω,a+bω−(a+bω′))=Gcd(a+bω,ρb)∣Gcd(ρ(a+bω)−ωρb,ρb)
=Gcd(ρa,ρb)=ρGcd(a,b).
推论1:当 ρ 不整除a+bω时,Gcd(a+bω,a+bω′)=Gcd(a,b).
推论2:当 ρ 不整除a+bω时,Gcd(a+bω,a+bω′)=1↔Gcd(a,b)=1.即“共扼互质↔分量互质”。
【引理3】 d∣(a+bω), 当且仅当d∣Gcd(a,b).
证:d总是同时整除a+bω和a+bω′,即d∣Gcd(a+bω,a+bω′)∣ρGcd(a,b). 当d不含因子3时,显然d∣Gcd(a,b). 当3∣d时,因d和Gcd(a,b)均含有偶数个ρ,仍有d∣Gcd(a,b).
三、丢番图方程a2+ab+b2=n2的通解公式和解数
除了那些基本性质,关于$Z(\omega)$最容易想到的一个问题就是哪些$a+b\omega(ab\ne 0)$的模为自然整数,即范数$N(a+b\omega)$为自然平方数。这就导致方程:
a⊗b=n2. 在Z(ω)中写为(a+bω)(a+bω′)=n2.
只要求出本原解,比例解乘以倍数可得,所以限定Gcd(a,b)=1是有道理的。这个限制使得
1)n不含任何第3)类素数因子p3. 否则p3∣(a+bω),由引理3得p3∣Gcd(a,b)=1,矛盾.
2)n不含因子3. 否则n2含ρ4. 由于引理1的推论1知a+bω与a+bω′平分n2中的ρ,那么至少各分得ρ2,即3∣Gcd(a,b)=1,矛盾. 于是按引理2推论2可得
3) Gcd(a+bω,a+bω′)=Gcd(a,b)=1,因此总可得到a+bω=(u+vω)2, a+bω′=(u+vω′)2,n=u⊗v.
展开后比较分量系数可得 a=u2−v2,b=2uv−v2.
要保持Gcd(a,b)=1,须有Gcd(u,v)=1,u+v=0(mod3).(引理1推论2)
显然,总可以得到u>v>0。如果所得u2−v2>2uv−v2,那就取 a=2uv−v2,b=u2−v2. 总可使得结果满足0<a<b.
4)假定n=p1s1⋅p2s2⋅⋅⋅pisi⋅⋅⋅pksk,pi=(ai+biω)(ai+biω′),为了构造a+bω和a+bω′,我们需要将(ai+biω)2si(ai+biω′)2si的所有质因子(按重数计)平分成两堆,划拨给a+bω和a+bω′。由于引理3的原因,a+bω不能同时要一对共扼因子,a+bω′也一样。否则短路打火,烧焦成实因子,就破坏了a与b的互质性。所以要么将(ai+biω)2si全部给a+bω、(ai+biω′)2si全部给a+bω′,要么将(ai+biω′)2si全部给a+bω、(ai+biω)2si全部给a+bω′,只有这2种分配方案。于是全部分配方案就是22k=2k−1种。除以2是因为共扼对称和乘法交换律。
并且hujunhua给出了对应的图解