方程 a b + c + b a + c + c a + b = 4 \frac{a}{b+c}+\frac{b}{a+c}+\frac{c}{a+b}=4 b + c a + a + c b + a + b c = 4 的正整数解
摘 要 本文旨在阐述以下数学问题的解答过程.
这是一道“钓鱼题”: 题面十分简单, 但解答它需要使用复杂的数学知识. 在网络上, 它被称为“史上最贱的数学题”. 2014 年, Andrew Bremnera 和 Allan Macleod[1] 研究了这一系列方程的解法; 2017 年, Alon Amit[2] 具体计算了该问题的解并发布在 Quora 上. 该问题的最小正整数解在 1 0 80 10^{80} 1 0 80 量级.
本题的最小正整数解为
a = 154476802108746166441951315019919837485664325669565431700026634898253202035277999 b = 36875131794129999827197811565225474825492979968971970996283137471637224634055579 c = 4373612677928697257861252602371390152816537558161613618621437993378423467772036
本文现阐述导出该答案的步骤.
1 方程的化简
我们要求解的方程为
a b + c + b a + c + c a + b = k , a , b , c , k ∈ N + \frac{a}{b+c}+\frac{b}{a+c}+\frac{c}{a+b}=k,\quad a,b,c,k\in\mathbb N_+ b + c a + a + c b + a + b c = k , a , b , c , k ∈ N +
对其通分, 它等价于
a ( a + b ) ( a + c ) + b ( a + b ) ( b + c ) + c ( a + c ) ( b + c ) = k ( a + b ) ( a + c ) ( b + c ) a(a+b)(a+c)+b(a+b)(b+c)+c(a+c)(b+c)=k(a+b)(a+c)(b+c) a ( a + b ) ( a + c ) + b ( a + b ) ( b + c ) + c ( a + c ) ( b + c ) = k ( a + b ) ( a + c ) ( b + c )
进一步整理得
a 3 + b 3 + c 3 + ( 1 − k ) ( a 2 b + a b 2 + a 2 c + a c 2 + b 2 c + b c 2 ) + ( 3 − 2 k ) a b c = 0 a^3+b^3+c^3+(1-k)(a^2b+ab^2+a^2c+ac^2+b^2c+bc^2)+(3-2k)abc=0 a 3 + b 3 + c 3 + ( 1 − k ) ( a 2 b + a b 2 + a 2 c + a c 2 + b 2 c + b c 2 ) + ( 3 − 2 k ) ab c = 0
解析几何和代数知识告诉我们, 这是一条齐次方程, 它可以通过两边同除 a 3 a^3 a 3 的方法减少一个未知元, 从而变成一条平面三次曲线. 但是这样将会把方程化为一条有交叉项的三次代数曲线
x y 2 + E y = A x 3 + B x 2 + C x + D xy^2+Ey=Ax^3+Bx^2+Cx+D x y 2 + E y = A x 3 + B x 2 + C x + D
这样的三次曲线研究起来是复杂的, 故本题暂不这样做.
1.1 线性变换
观察原方程化简前的结构, 先作一个关于 ( a , b ) (a,b) ( a , b ) 的线性变换
{ u = ( a + c ) + ( b + c ) = a + b + 2 c v = ( a + c ) − ( b + c ) = a − b ⟺ { a = ( u + v ) / 2 − c b = ( u − v ) / 2 − c \left\{\begin{aligned}&u=(a+c)+(b+c)=a+b+2c\\&v=(a+c)-(b+c)=a-b\end{aligned}\right. \iff \left\{\begin{aligned}&a=(u+v)/2-c\\&b=(u-v)/2-c\end{aligned}\right. { u = ( a + c ) + ( b + c ) = a + b + 2 c v = ( a + c ) − ( b + c ) = a − b ⟺ { a = ( u + v ) /2 − c b = ( u − v ) /2 − c
代入化简, 得到
( ( k + 2 ) u − ( 2 k + 5 ) c ) v 2 = ( k − 2 ) u 3 + ( 7 − 2 k ) c u 2 − 8 c 2 u \Big((k+2)u-(2k+5)c\Big)v^2=(k-2)u^3+(7-2k)cu^2-8c^2u ( ( k + 2 ) u − ( 2 k + 5 ) c ) v 2 = ( k − 2 ) u 3 + ( 7 − 2 k ) c u 2 − 8 c 2 u
可以立刻看到这样换元的好处: 现在 v v v 只剩下平方项了. 考虑 v 2 v^2 v 2 项前的系数, 作代换 w = ( k + 2 ) u − ( 2 k + 5 ) c w=(k+2)u-(2k+5)c w = ( k + 2 ) u − ( 2 k + 5 ) c , 得到
( 4 k 2 + 20 k + 25 ) v 2 w = − ( 2 k + 12 ) u 3 + ( 4 k 2 + 12 k − 3 ) u 2 w − 8 u w 2 (4k^2+20k+25)v^2w=-(2k+12)u^3+(4k^2+12k-3)u^2w-8uw^2 ( 4 k 2 + 20 k + 25 ) v 2 w = − ( 2 k + 12 ) u 3 + ( 4 k 2 + 12 k − 3 ) u 2 w − 8 u w 2
这里 u , v , w ∈ Q u,v,w\in \mathbb Q u , v , w ∈ Q . 这是一个关于 u , v , w u,v,w u , v , w 的齐次方程, 其中 v v v 只含平方项.
1.2 减少未知元
现在可以将方程两边同除 w 3 w^3 w 3 了.
( 4 k 2 + 20 k + 25 ) ( v w ) 2 = − ( 2 k + 12 ) ( u w ) 3 + ( 4 k 2 + 12 k − 3 ) ( u w ) 2 − 8 ( v w ) (4k^2+20k+25)\left(\frac vw\right)^2=-(2k+12)\left(\frac uw\right)^3+(4k^2+12k-3)\left(\frac uw\right)^2-8\left(\frac vw\right) ( 4 k 2 + 20 k + 25 ) ( w v ) 2 = − ( 2 k + 12 ) ( w u ) 3 + ( 4 k 2 + 12 k − 3 ) ( w u ) 2 − 8 ( w v )
这里理应作代换 x = u / w , y = v / w x=u/w,\ y=v/w x = u / w , y = v / w . 但是为了后面系数归一的操作, 我们引入一对待定系数 A , B A,B A , B . 作代换 x = A u / w , y = B v / w x=Au/w,y=Bv/w x = A u / w , y = B v / w , 化简得
A 2 B 2 ( 2 k + 5 ) 2 y 2 = − 4 k + 12 A x 3 + ( 4 k 2 + 12 k − 3 ) x 2 − 8 A 2 B 2 x \frac{A^2}{B^2}(2k+5)^2y^2=-\frac{4k+12}{A}x^3+(4k^2+12k-3)x^2-8A^2B^2x B 2 A 2 ( 2 k + 5 ) 2 y 2 = − A 4 k + 12 x 3 + ( 4 k 2 + 12 k − 3 ) x 2 − 8 A 2 B 2 x
这里 x , y ∈ Q , A , B ∈ Z x,y\in\mathbb Q,\ A,B\in\mathbb Z x , y ∈ Q , A , B ∈ Z . 令 y 2 y^2 y 2 项和 x 3 x^3 x 3 项系数为 1 1 1 , 即
{ A 2 B 2 ( 2 k + 5 ) 2 = 1 − 4 k + 12 A = 1 ⟺ { A = − ( 4 k + 12 ) B = ± ( 8 k 2 + 44 k + 60 ) \left\{\begin{aligned}&\frac{A^2}{B^2}(2k+5)^2=1\\&-\frac{4k+12}{A}=1\end{aligned}\right. \iff \left\{\begin{aligned}&A=-(4k+12)\\&B=\pm(8k^2+44k+60)\end{aligned}\right. ⎩ ⎨ ⎧ B 2 A 2 ( 2 k + 5 ) 2 = 1 − A 4 k + 12 = 1 ⟺ { A = − ( 4 k + 12 ) B = ± ( 8 k 2 + 44 k + 60 )
曲线方程变为
y 2 = x 3 + ( 4 k 2 + 12 k − 3 ) x 2 + ( 32 k + 96 ) x y^2=x^3+(4k^2+12k-3)x^2+(32k+96)x y 2 = x 3 + ( 4 k 2 + 12 k − 3 ) x 2 + ( 32 k + 96 ) x
综上, 我们完成了方程的化简. 从 ( a , b , c , k ) (a,b,c,k) ( a , b , c , k ) 到 ( x , y ) (x,y) ( x , y ) 的代换为
{ x = − 4 ( k + 3 ) ( a + b + 2 c ) ( k + 2 ) ( a + b ) − c y = ± 4 ( k + 3 ) ( 2 k + 5 ) ( a − b ) ( k + 2 ) ( a + b ) − c ⟺ { a = C ( x ∓ y − ( 8 k + 24 ) ) b = C ( x ± y − ( 8 k + 24 ) ) c = C ( ( 2 k + 4 ) x + ( 8 k + 24 ) ) \left\{\begin{aligned}&x=\frac{-4(k+3)(a+b+2c)}{(k+2)(a+b)-c}\\&y=\frac{\pm 4(k+3)(2k+5)(a-b)}{(k+2)(a+b)-c}\end{aligned}\right. \iff \left\{\begin{aligned}&a=C\Big(x\mp y-(8k+24)\Big)\\&b=C\Big(x\pm y-(8k+24)\Big)\\&c=C\Big((2k+4)x+(8k+24)\Big)\end{aligned}\right. ⎩ ⎨ ⎧ x = ( k + 2 ) ( a + b ) − c − 4 ( k + 3 ) ( a + b + 2 c ) y = ( k + 2 ) ( a + b ) − c ± 4 ( k + 3 ) ( 2 k + 5 ) ( a − b ) ⟺ ⎩ ⎨ ⎧ a = C ( x ∓ y − ( 8 k + 24 ) ) b = C ( x ± y − ( 8 k + 24 ) ) c = C ( ( 2 k + 4 ) x + ( 8 k + 24 ) )
其中 C C C 是任意常数. 当 k = 4 k=4 k = 4 , B B B 取正值时, 这一代换是
{ x = − 28 ( a + b + 2 c ) 6 ( a + b ) − c y = 364 ( a − b ) 6 ( a + b ) − c ⟺ { a = C ( x − y − 56 ) b = C ( x + y − 56 ) c = C ( 12 x + 56 ) \left\{\begin{aligned}&x=\frac{-28(a+b+2c)}{6(a+b)-c}\\&y=\frac{364(a-b)}{6(a+b)-c}\end{aligned}\right. \iff \left\{\begin{aligned}&a=C(x-y-56)\\&b=C(x+y-56)\\&c=C(12x+56)\end{aligned}\right. ⎩ ⎨ ⎧ x = 6 ( a + b ) − c − 28 ( a + b + 2 c ) y = 6 ( a + b ) − c 364 ( a − b ) ⟺ ⎩ ⎨ ⎧ a = C ( x − y − 56 ) b = C ( x + y − 56 ) c = C ( 12 x + 56 )
2 椭圆曲线有理点的加法运算
上一节中得到了一条代数曲线
y 2 = x 3 + p x 2 + q x , p = 4 k 2 + 12 k − 3 , q = 32 k + 96 y^2=x^3+px^2+qx,\quad p=4k^2+12k-3,\quad q=32k+96 y 2 = x 3 + p x 2 + q x , p = 4 k 2 + 12 k − 3 , q = 32 k + 96
这是一条椭圆曲线, 下面对椭圆曲线作简介.
2.1 椭圆曲线
椭圆曲线的一般方程为
y 2 + D x y + E y = x 3 + A x 2 + B x + C y^2+Dxy+Ey=x^3+Ax^2+Bx+C y 2 + D x y + E y = x 3 + A x 2 + B x + C
它可以化简为
y 2 = x 3 + B x + C y^2=x^3+Bx+C y 2 = x 3 + B x + C
的 Weierstrass 形式, 或者
y 2 = x 3 + A x 2 + B x + C y^2=x^3+Ax^2+Bx+C y 2 = x 3 + A x 2 + B x + C
的长 Weierstrass 形式, 并且它的特征方程
x 3 + A x 2 + B x + C = 0 x^3+Ax^2+Bx+C=0 x 3 + A x 2 + B x + C = 0
不能有重根, 即它的判别式 Δ \Delta Δ 不能为零, 即
Δ = − 4 A 3 C + A 2 B 2 + 18 A B C − 4 B 3 − 27 C 2 ≠ 0 \Delta=-4A^3C+A^2B^2+18ABC-4B^3-27C^2\neq 0 Δ = − 4 A 3 C + A 2 B 2 + 18 A BC − 4 B 3 − 27 C 2 = 0
一般来说, 椭圆曲线有两类图像. Δ > 0 \Delta>0 Δ > 0 时, 曲线如下图左所示由一卵形线一无限长分支组成; Δ < 0 \Delta<0 Δ < 0 时, 曲线是如下图右所示的一无限长曲线.
对于本题中的方程, 我们可以验证它是否是一条椭圆曲线. 考虑特征方程的判别式
Δ = p 2 q 2 − 4 q 3 = 1024 ( k + 3 ) 2 ( 2 k − 3 ) ( 2 k + 5 ) 3 \Delta=p^2q^2-4q^3=1024(k+3)^2(2k-3)(2k+5)^3 Δ = p 2 q 2 − 4 q 3 = 1024 ( k + 3 ) 2 ( 2 k − 3 ) ( 2 k + 5 ) 3
首先我们指出, 本题允许的 k k k 有一个下界.考虑调和均值不等式
1 A + 1 B + 1 C ≥ 9 A + B + C , ∀ A , B , C ≥ 0 \frac 1A+\frac 1B+\frac 1C\geq \frac 9{A+B+C},\quad \forall A,B,C\geq 0 A 1 + B 1 + C 1 ≥ A + B + C 9 , ∀ A , B , C ≥ 0
当且仅当 A = B = C A=B=C A = B = C 时取等号. 所以
k = a b + c + b a + c + c a + b = ( a + b + c ) ( 1 b + c + 1 a + c + 1 a + b ) − 3 ≥ ( a + b + c ) ⋅ 9 2 ( a + b + c ) − 3 = 1.5 \begin{aligned}k=\frac{a}{b+c}+\frac{b}{a+c}+\frac{c}{a+b}&=(a+b+c)\left(\frac{1}{b+c}+\frac{1}{a+c}+\frac{1}{a+b}\right)-3\\&\geq (a+b+c)\cdot\frac{9}{2(a+b+c)}-3=1.5\end{aligned} k = b + c a + a + c b + a + b c = ( a + b + c ) ( b + c 1 + a + c 1 + a + b 1 ) − 3 ≥ ( a + b + c ) ⋅ 2 ( a + b + c ) 9 − 3 = 1.5
当且仅当 a = b = c a=b=c a = b = c 时取等号.
a = b = c a=b=c a = b = c 的情况是平凡的, 因为此时 k k k 为定值 1.5 1.5 1.5 , 所以本文不考虑 a = b = c a=b=c a = b = c 的情况. 在 a , b , c a,b,c a , b , c 不全相等的情况下, 由于 k > 1.5 k>1.5 k > 1.5 , 所以 Δ > 0 \Delta>0 Δ > 0 . 这说明在本问题中, 椭圆曲线总有两支.
2.2 椭圆曲线有理点及其加法
现定义椭圆曲线上有理点的加法: 给定两个曲线上的有理点 P 1 ( x 1 , y 1 ) , P 2 ( x 2 , y 2 ) P_1(x_1,y_1),P_2(x_2,y_2) P 1 ( x 1 , y 1 ) , P 2 ( x 2 , y 2 ) , 即 x 1 , y 1 , x 2 , y 2 ∈ Q x_1,y_1,x_2,y_2\in \mathbb Q x 1 , y 1 , x 2 , y 2 ∈ Q , 若过 P 1 , P 2 P_1,P_2 P 1 , P 2 的割线与椭圆曲线有第三个交点, 则定义 P 1 + P 2 P_1+P_2 P 1 + P 2 的和为“第三个交点关于 x x x 轴的对称点”, 如下图所示.
特殊地, 当 P 1 = P 2 = P P_1=P_2=P P 1 = P 2 = P 时, 直线变为切线, 定义 P + P P+P P + P 为切线与椭圆曲线的另一交点的对称点, 可简记为 2 P 2P 2 P .
定义点 P P P 关于 x x x 轴的的对称点为 − P -P − P . 考虑 P + ( − P ) P+(-P) P + ( − P ) , 此时割线无第三交点 (认为交于无穷远处), 所以这个和式定义无穷远点为 O \mathcal O O . 即有 P − P = O P-P=\mathcal O P − P = O .
以上我们完成了椭圆曲线有理点上加法运算的构造. 它具有以下性质:
封闭性, 若 P 1 , P 2 P_1,P_2 P 1 , P 2 都是有理点, 则 P 1 + P 2 P_1+P_2 P 1 + P 2 是有理点;
结合律, ( P 1 + P 2 ) + P 3 = P 1 + ( P 2 + P 3 ) (P_1+P_2)+P_3=P_1+(P_2+P_3) ( P 1 + P 2 ) + P 3 = P 1 + ( P 2 + P 3 ) ;
存在逆元, 即每个 P P P 都存在对称点 − P -P − P ;
存在单位元, 即无穷远点 O \mathcal O O 可以使得 P + O = O + P = P P+\mathcal O=\mathcal O+P=P P + O = O + P = P ;
交换律, P 1 + P 2 = P 2 + P 1 P_1+P_2=P_2+P_1 P 1 + P 2 = P 2 + P 1 .
其中第一条性质是重要的, 它可以通过已知的有理点构造新的有理点.
值得一提的是, 椭圆曲线作为客串角色出现在了今年 (2023 年) 2 月四省联考数学试题中, 原题如下:
22、 (12 分)
椭圆曲线加密算法运用于区块链.
椭圆曲线 C = { ( x , y ) ∣ y 2 = x 3 + a x + b , 4 a 3 + 27 b 2 ≠ 0 } C=\{(x,y)\mid y^2=x^3+ax+b,\ 4a^3+27b^2\neq 0\} C = {( x , y ) ∣ y 2 = x 3 + a x + b , 4 a 3 + 27 b 2 = 0 } . P ∈ C P\in C P ∈ C 关于 x x x 轴的对称点记为 P ~ \tilde P P ~ . C C C 在点 P ( x , y ) ( y ≠ 0 ) P(x,y)\ (y\neq 0) P ( x , y ) ( y = 0 ) 处的切线是指曲线 y = ± x 3 + a x + b y=\pm \sqrt{x^3+ax+b} y = ± x 3 + a x + b 在点 P P P 处的切线. 定义“⊕ \oplus ⊕ ” 运算满足:
若 P ∈ C , Q ∈ C P\in C,\ Q\in C P ∈ C , Q ∈ C , 且直线 P Q PQ PQ 与 C C C 有第三个交点 R R R , 则 P ⊕ Q = R ~ P\oplus Q=\tilde R P ⊕ Q = R ~ ;
若 P ∈ C , Q ∈ C P\in C,\ Q\in C P ∈ C , Q ∈ C , 且 P Q PQ PQ 为 C C C 的切线, 切点为 P P P , 则 P ⊕ Q = P ~ P\oplus Q=\tilde P P ⊕ Q = P ~ ;
若 P ∈ C P\in C P ∈ C , 规定 P ⊕ P ~ = 0 ∗ P\oplus \tilde P=0^* P ⊕ P ~ = 0 ∗ , 且 P ⊕ 0 ∗ = 0 ∗ ⊕ P = P P\oplus 0^*=0^*\oplus P=P P ⊕ 0 ∗ = 0 ∗ ⊕ P = P .
(1) 当 4 a 3 + 27 b 2 = 0 4a^3+27b^2=0 4 a 3 + 27 b 2 = 0 时, 讨论 h ( x ) = x 3 + a x + b h(x)=x^3+ax+b h ( x ) = x 3 + a x + b 零点的个数;
(2) 已知“⊕ \oplus ⊕ ”运算满足交换律、结合律, 若 P ∈ C , Q ∈ C P\in C,\ Q\in C P ∈ C , Q ∈ C , 且 P Q PQ PQ 为 C C C 的切线, 切点为 P P P , 证明: P ⊕ P = Q ~ P\oplus P=\tilde Q P ⊕ P = Q ~ ;
(3) 已知 P ( x 1 , y 1 ) ∈ C , Q ( x 2 , y 2 ) ∈ C P(x_1,y_1)\in C,\ Q(x_2,y_2)\in C P ( x 1 , y 1 ) ∈ C , Q ( x 2 , y 2 ) ∈ C , 且直线 P Q PQ PQ 与 C C C 有第三个交点, 求 P ⊕ Q P\oplus Q P ⊕ Q 的坐标.
参考公式: m 3 − n 3 = ( m − n ) ( m 2 + m n + n 2 ) m^3-n^3=(m-n)(m^2+mn+n^2) m 3 − n 3 = ( m − n ) ( m 2 + mn + n 2 ) .
该题构造的 ⊕ \oplus ⊕ 运算其实就是本文的加法运算, P ~ \tilde P P ~ 和 0 ∗ 0^* 0 ∗ 其实就是本文的 − P -P − P 和 O \mathcal O O , 只是本题运算对象未限制在有理点.
3 正整数解的导出
铺垫已经结束, 现在我们对摘要中的问题进行求解, 即求
a b + c + b a + c + c a + b = 4 \frac{a}{b+c}+\frac{b}{a+c}+\frac{c}{a+b}=4 b + c a + a + c b + a + b c = 4
的正整数解.
3.1 求正整数解的步骤
现在的思路已经明确: 那就是找到椭圆曲线
y 2 = x 3 + p x 2 + q x , p = 4 k 2 + 12 k − 3 , q = 32 k + 96 y^2=x^3+px^2+qx,\quad p=4k^2+12k-3,\quad q=32k+96 y 2 = x 3 + p x 2 + q x , p = 4 k 2 + 12 k − 3 , q = 32 k + 96
的有理点 P P P , 然后通过下面的代换还原整数 ( a , b , c ) (a,b,c) ( a , b , c ) .
{ a = t ( x ∓ y − ( 8 k + 24 ) ) b = t ( x ± y − ( 8 k + 24 ) ) c = t ( ( 2 k + 4 ) x + ( 8 k + 24 ) ) \left\{\begin{aligned}&a=t\Big(x\mp y-(8k+24)\Big)\\&b=t\Big(x\pm y-(8k+24)\Big)\\&c=t\Big((2k+4)x+(8k+24)\Big)\end{aligned}\right. ⎩ ⎨ ⎧ a = t ( x ∓ y − ( 8 k + 24 ) ) b = t ( x ± y − ( 8 k + 24 ) ) c = t ( ( 2 k + 4 ) x + ( 8 k + 24 ) )
因为代换式括号内均为有理数, 所以 t t t 取括号内数分母的最小公倍数即可使 ( a , b , c ) (a,b,c) ( a , b , c ) 均为整数. t t t 可正可负, 我们不妨取能令 a > 0 a>0 a > 0 的那一个.
然后验证 ( a , b , c ) (a,b,c) ( a , b , c ) 的符号: 如果均为正, 则为答案; 否则根据椭圆曲线在点 P P P 的切线计算有理点 2 P 2P 2 P 的坐标, 计算出新的 ( a , b , c ) (a,b,c) ( a , b , c ) 并验证其是否为正. 迭代计算直到获得一组 n P nP n P 对应的 ( a , b , c ) (a,b,c) ( a , b , c ) 均为正的解.
通过计算可以得出, 若椭圆曲线上有点 P 1 ( x 1 , y 1 ) , P 2 ( x 2 , y 2 ) P_1(x_1,y_1),\ P_2(x_2,y_2) P 1 ( x 1 , y 1 ) , P 2 ( x 2 , y 2 ) , 则 ( P 1 + P 2 ) (P_1+P_2) ( P 1 + P 2 ) 的坐标为
{ x = λ 2 − p − x 1 − x 2 y = − ( λ ( x − x 1 ) + y 1 ) , λ = { y 2 − y 1 x 2 − x 1 , P 1 ≠ P 2 3 x 1 2 + 2 m x 1 + n 2 y 1 , P 1 = P 2 \left\{\begin{aligned}&x=\lambda^2-p-x_1-x_2\\&y=-\Big(\lambda(x-x_1)+y_1\Big)\end{aligned}\right.,\qquad \lambda=\left\{\begin{aligned}&\frac{y_2-y_1}{x_2-x_1},\ &&P_1\neq P_2\\&\frac{3x_1^2+2mx_1+n}{2y_1},\ &&P_1=P_2\end{aligned}\right. ⎩ ⎨ ⎧ x = λ 2 − p − x 1 − x 2 y = − ( λ ( x − x 1 ) + y 1 ) , λ = ⎩ ⎨ ⎧ x 2 − x 1 y 2 − y 1 , 2 y 1 3 x 1 2 + 2 m x 1 + n , P 1 = P 2 P 1 = P 2
3.2 k = 4 k=4 k = 4 问题的解答
现在我们可以解答摘要中的问 题了. 取 k = 4 k=4 k = 4 , 以 a a a 取负号为例. 在本题中, 我们作换元 k = t 2 + t + 4 k=t^2+t+4 k = t 2 + t + 4 , 然后代入 x = − 4 ( t 2 + t + 1 ) 2 x=-4(t^2+t+1)^2 x = − 4 ( t 2 + t + 1 ) 2 得到一组有理点
P ( − 4 ( t 2 + t + 1 ) 2 , ± 4 ( 2 t + 1 ) ( t 2 + t + 1 ) ( 3 t 2 + 3 t + 7 ) ) P\Big(-4(t^2+t+1)^2,\pm 4(2t+1)(t^2+t+1)(3t^2+3t+7)\Big) P ( − 4 ( t 2 + t + 1 ) 2 , ± 4 ( 2 t + 1 ) ( t 2 + t + 1 ) ( 3 t 2 + 3 t + 7 ) )
在本题中, 我们由 k = 4 k=4 k = 4 解出 t = 0 t=0 t = 0 , 可以立即获得一个初始有理点 P ( − 4 , 28 ) P(-4,28) P ( − 4 , 28 ) . 算得它对应的 ( a , b , c ) (a,b,c) ( a , b , c ) 是
P ( − 4 , 28 ) , ( a , b , c ) = ( 11 , 4 , − 1 ) P(-4,28),\quad (a,b,c)=(11, 4, -1) P ( − 4 , 28 ) , ( a , b , c ) = ( 11 , 4 , − 1 )
其中 c < 0 c<0 c < 0 , 所以这一组解不符合题目要求. 有了上一节中 ( P 1 + P 2 ) (P_1+P_2) ( P 1 + P 2 ) 的坐标公式, 借助计算机, 我们可以很容易地计算 P + P = 2 P P+P=2P P + P = 2 P 及其对应的 ( a , b , c ) (a,b,c) ( a , b , c ) :
2 P ( 676 49 , 55796 343 ) , ( a , b , c ) = ( 8784 , − 5165 , − 9499 ) 2P\left(\frac{676}{49},\frac{55796}{343}\right),\quad (a,b,c)=(8784,-5165,-9499) 2 P ( 49 676 , 343 55796 ) , ( a , b , c ) = ( 8784 , − 5165 , − 9499 )
仍不符合要求. 计算 2 P + P = 3 P 2P+P=3P 2 P + P = 3 P 及其对应的 ( a , b , c ) (a,b,c) ( a , b , c ) :
3 P ( − 731025 11881 , 527529870 1295029 ) , ( a , b , c ) = ( 679733219 , − 375326521 , 883659076 ) 3P\left(-\frac{731025}{11881},\frac{527529870}{1295029}\right),\quad (a,b,c)=(679733219, -375326521, 883659076) 3 P ( − 11881 731025 , 1295029 527529870 ) , ( a , b , c ) = ( 679733219 , − 375326521 , 883659076 )
这一组解已经很大了, 但是仍不满足要求. 事实上, 我们需要持续计算到 9 P 9P 9 P 才能得到一组全为正的 ( a , b , c ) (a,b,c) ( a , b , c ) :
x = -66202368404229585264842409883878874707453676645038225 / 13514400292716288512070907945002943352692578000406921 y = 58800835157308083307376751727347181330085672850296730351871748713307988700611210 / 1571068668597978434556364707291896268838086945430031322196754390420280407346469 a = 154476802108746166441951315019919837485664325669565431700026634898253202035277999 b = 36875131794129999827197811565225474825492979968971970996283137471637224634055579 c = 4373612677928697257861252602371390152816537558161613618621437993378423467772036
这一组 ( a , b , c ) (a,b,c) ( a , b , c ) 分别为 ( 81 , 80 , 79 ) (81,80,79) ( 81 , 80 , 79 ) 位数. 至此, 我们完成了对摘要中问题的解答.
4 椭圆曲线上的所有有理点
Andrew Bremnera 和 Allan Macleod[1] 的文章包含了对该问题的更多讨论. 在剩余章节中, 本文阐述一些该文章的其他结论. 首先是关于椭圆曲线
y 2 = x 3 + p x 2 + q x y^2=x^3+px^2+qx y 2 = x 3 + p x 2 + q x
上所有有理点的结构.
4.1 周期 部分
在上一小节中, 我们通过找到了一个起始有理点 P P P . 倘若起始有理点 P P P 找得不好, 那么可能存在 n n n 使得 n P = O nP=\mathcal O n P = O . 如果 P , 2 P , … , ( n − 1 ) P P,2P,\dots,(n-1)P P , 2 P , … , ( n − 1 ) P 对应的 ( a , b , c ) (a,b,c) ( a , b , c ) 均不是解, 那么如果继续迭代
n P = O , ( n + 1 ) P = P , ( n + 2 ) P = 2 P , … nP=\mathcal O,\quad (n+1)P=P,\quad (n+2)P=2P,\quad \dots n P = O , ( n + 1 ) P = P , ( n + 2 ) P = 2 P , …
都不会是解. 换言之, 通过这一个初始有理点 P P P 可能找不到. P P P 是周期的. 使得 n P = O nP=\mathcal O n P = O 的最小正整数 n n n 称为 P P P 的阶 (类似于周期函数的最小正周期), 记为 o r d P \mathop{\rm ord}P ord P .
实际上, 不考虑 k = 2 k=2 k = 2 的情况, 能使 n P = O nP=\mathcal O n P = O 的有理点只有 6 6 6 个, 分为以下三类.
4.1.1 阶为 2 2 2 的有理点
第一类是使 2 P = O 2P=\mathcal O 2 P = O 即 P = − P P=-P P = − P 的有理点, 这样的有理点有 1 1 1 个. 这类有理点落在 x x x 轴上. 对特征方程作因式分解:
x 3 + p x 2 + q x = 0 ⟺ x ( x − α ) ( x − β ) = 0 x^3+px^2+qx=0\iff x(x-\alpha)(x-\beta)=0 x 3 + p x 2 + q x = 0 ⟺ x ( x − α ) ( x − β ) = 0
其中
{ α = 1 2 ( − p − ( 2 k + 5 ) ( 2 k + 1 ) 2 − 4 2 ) β = 1 2 ( − p + ( 2 k + 5 ) ( 2 k + 1 ) 2 − 4 2 ) \left\{\begin{aligned}\alpha=\frac 12\left(-p-(2k+5)\sqrt{(2k+1)^2-4^2}\right)\\\beta=\frac 12\left(-p+(2k+5)\sqrt{(2k+1)^2-4^2}\right)\end{aligned}\right. ⎩ ⎨ ⎧ α = 2 1 ( − p − ( 2 k + 5 ) ( 2 k + 1 ) 2 − 4 2 ) β = 2 1 ( − p + ( 2 k + 5 ) ( 2 k + 1 ) 2 − 4 2 )
要使 α , β ∈ Q \alpha,\beta\in\mathbb Q α , β ∈ Q , 则首先要有 ( 2 k + 1 ) 2 − 4 2 ∈ Z \sqrt{(2k+1)^2-4^2}\in\mathbb Z ( 2 k + 1 ) 2 − 4 2 ∈ Z . 考虑相邻两奇数的平方差, 易证 ( 3 , 4 , 5 ) (3,4,5) ( 3 , 4 , 5 ) 是唯一包含 4 4 4 的勾股数. 所以当且仅当 2 k + 1 = 5 2k+1=5 2 k + 1 = 5 即 k = 2 k=2 k = 2 时, 这类有理点有三个:
Q 2 − ( 0 , − 32 ) , Q 2 + ( 0 , − 5 ) , Q 2 ( 0 , 0 ) Q_2^-(0,-32),\qquad Q_2^+(0,-5),\qquad Q_2(0,0) Q 2 − ( 0 , − 32 ) , Q 2 + ( 0 , − 5 ) , Q 2 ( 0 , 0 )
k k k 取其它值时, 这类有理点只有一个, 即 Q 2 ( 0 , 0 ) Q_2(0,0) Q 2 ( 0 , 0 ) .
4.1.2 阶为 3 3 3 的有理点
第二类是使 3 P = O 3P=\mathcal O 3 P = O 即 2 P = − P 2P=-P 2 P = − P 的有理点, 这样的有理点有 2 2 2 个. 这些有理点分布在椭圆曲线的拐点上. 求曲线方程的二阶导数, 令其为零, 得关于 x x x 的方程
( x − 4 ) ( 3 x 3 + 16 k ( k + 3 ) x 2 + 64 ( k + 3 ) 2 x + 256 ( k + 3 ) 2 ) = 0 (x-4)\Big(3x^3+16k(k+3)x^2+64(k+3)^2x+256(k+3)^2\Big)=0 ( x − 4 ) ( 3 x 3 + 16 k ( k + 3 ) x 2 + 64 ( k + 3 ) 2 x + 256 ( k + 3 ) 2 ) = 0
它至少有一个有理根 x = 4 x=4 x = 4 , 对应两个有理点
Q 3 ( 4 , 8 k + 20 ) , − Q 3 ( 4 , − 8 k − 20 ) Q_3(4,8k+20),\quad -Q_3(4,-8k-20) Q 3 ( 4 , 8 k + 20 ) , − Q 3 ( 4 , − 8 k − 20 )
事实上, 虽然后一个因式必有三个实根, 但它们不会是有理根. 即是说这类有理点仅有这两个.
4.1.3 阶为 6 6 6 的有理点
最后一类是使 6 P = O 6P=\mathcal O 6 P = O , 且 2 P ≠ O , 3 P ≠ O 2P\neq \mathcal O,\ 3P\neq \mathcal O 2 P = O , 3 P = O 的有理点, 这样的有理点有 2 2 2 个. 若 P 1 , P 2 P_1,P_2 P 1 , P 2 是有理点使得 2 P 1 = 3 P 2 = O 2P_1=3P_2=\mathcal O 2 P 1 = 3 P 2 = O , 那么 P = P 1 + P 2 P=P_1+P_2 P = P 1 + P 2 是一个使 6 P = O 6P=\mathcal O 6 P = O 的有理点, 因为
6 P = 6 ( P 1 + P 2 ) = 6 P 1 + 6 P 2 = 3 ⋅ 2 P 1 + 2 ⋅ 3 P 2 = 3 O + 2 O = O 6P=6(P_1+P_2)=6P_1+6P_2=3\cdot 2P_1+2\cdot 3P_2=3\mathcal O+2\mathcal O=\mathcal O 6 P = 6 ( P 1 + P 2 ) = 6 P 1 + 6 P 2 = 3 ⋅ 2 P 1 + 2 ⋅ 3 P 2 = 3 O + 2 O = O
例如, 取 Q 2 ( 0 , 0 ) Q_2(0,0) Q 2 ( 0 , 0 ) 和 Q 3 ( 4 , 8 k + 20 ) Q_3(4,8k+20) Q 3 ( 4 , 8 k + 20 ) , 我们可以构造这样的有理点
Q 2 + Q 3 = Q 6 ( 8 k + 24 , ( 8 k + 24 ) ( 2 k + 5 ) ) Q_2+Q_3=Q_6\Big(8k+24,(8k+24)(2k+5)\Big) Q 2 + Q 3 = Q 6 ( 8 k + 24 , ( 8 k + 24 ) ( 2 k + 5 ) )
事实上, k ≠ 2 k\neq 2 k = 2 时, Q 2 Q_2 Q 2 和 Q 3 Q_3 Q 3 的线性组合可以生成所有这样的有理点. 可以枚举证明这样的有理点只有 ± Q 6 \pm Q_6 ± Q 6 两个.
4.1.4 小结
综合来说, 如果我们承认无穷远点 O \mathcal O O 是一个周期有理点, 则 k ≠ 2 k\neq 2 k = 2 时周期有理点共有 O , Q 2 , ± Q 3 , ± Q 6 \mathcal O,\ Q_2,\ \pm Q_3,\ \pm Q_6 O , Q 2 , ± Q 3 , ± Q 6 六个, 并且都可以表示为 n Q 6 ( n = 0 , 1 , … , 5 ) nQ_6\ (n=0,1,\dots,5) n Q 6 ( n = 0 , 1 , … , 5 ) 的形式:
0 Q 6 = O ( ∞ , ∞ ) 0Q_6=\mathcal O(\infty,\infty) 0 Q 6 = O ( ∞ , ∞ ) , 阶为 1;
1 Q 6 = Q 6 ( 8 k + 24 , ( 8 k + 24 ) ( 2 k + 5 ) ) 1Q_6=Q_6\big(8k+24,(8k+24)(2k+5)\big) 1 Q 6 = Q 6 ( 8 k + 24 , ( 8 k + 24 ) ( 2 k + 5 ) ) , 阶为 6;
2 Q 6 = − Q 3 ( 4 , − 8 k − 20 ) 2Q_6=-Q_3(4,-8k-20) 2 Q 6 = − Q 3 ( 4 , − 8 k − 20 ) , 阶为 3;
3 Q 6 = Q 2 ( 0 , 0 ) 3Q_6=Q_2(0,0) 3 Q 6 = Q 2 ( 0 , 0 ) , 阶为 2;
4 Q 6 = Q 3 ( 4 , 8 k + 20 ) 4Q_6=Q_3(4,8k+20) 4 Q 6 = Q 3 ( 4 , 8 k + 20 ) , 阶为 3;
5 Q 6 = − Q 6 ( 8 k + 24 , − ( 8 k + 24 ) ( 2 k + 5 ) ) 5Q_6=-Q_6\big(8k+24,-(8k+24)(2k+5)\big) 5 Q 6 = − Q 6 ( 8 k + 24 , − ( 8 k + 24 ) ( 2 k + 5 ) ) , 阶为 6.
k = 2 k=2 k = 2 时情况略微复杂: 有理点共有 12 12 12 个, 但是也可以表示为 n 1 Q 2 + + n 2 Q 6 ( n 1 = 0 , 1 , n 2 = 0 , 1 , … , 5 ) n_1Q_2^++n_2Q_6\ (n_1=0,1,\ n_2=0,1,\dots,5) n 1 Q 2 + + n 2 Q 6 ( n 1 = 0 , 1 , n 2 = 0 , 1 , … , 5 ) 的形式. 这里不加讨论.
4.2 自由部分
椭圆曲线的弱 Mordell-Weil 定理指出, 椭圆曲线上的有理点是有限生成的. 即是说, 存在有限个有理点 P 1 , … , P m P_1,\dots,P_m P 1 , … , P m 使得任何有理点都是这些有理点的线性组合.
应用于本题, 该定理等价于对于椭圆曲线
y 2 = x 3 + p x 2 + q x y^2=x^3+px^2+qx y 2 = x 3 + p x 2 + q x
存在唯一一组线性无关的非周期有理点 G 1 , … , G m G_1,\dots,G_m G 1 , … , G m 称为自由生成元, 任何有理点 P P P 都能分解为
P = Q + n 1 G 1 + n 2 G 2 + ⋯ + n m G m P=Q+n_1G_1+n_2G_2+\cdots+n_mG_m P = Q + n 1 G 1 + n 2 G 2 + ⋯ + n m G m
的形式, 其中 Q Q Q 是 6 6 6 个(或 12 12 12 个) 周期有理点中的一个, n i ∈ Z , ∀ i n_i\in \mathbb Z,\ \forall i n i ∈ Z , ∀ i . 由自由生成元生成的部分记为 G G G , 我们可以将分解式写作
P = Q + G P=Q+G P = Q + G
其中 Q Q Q 称作周期部分(挠群部分), G G G 称作自由部分.
4.3 秩
以 k = 4 k=4 k = 4 为例, 这时 G 1 ( − 4 , 28 ) G_1(-4,28) G 1 ( − 4 , 28 ) 是唯一的自由生成元. 所有有理点 P P P 都能表示成
P = Q + n 1 G 1 P=Q+n_1G_1 P = Q + n 1 G 1
的形式, 其中 Q Q Q 为 0 Q 0Q 0 Q 至 5 Q 5Q 5 Q 其中之一, n 1 ∈ Z n_1\in \mathbb Z n 1 ∈ Z . 我们可以列举出 k = 4 k=4 k = 4 时椭圆曲线上的所有有理点的坐标:
O \mathcal O O ± G 1 \pm G_1 ± G 1 ± 2 G 1 \pm 2G_1 ± 2 G 1 ⋯ \cdots ⋯ O \mathcal O O ( ∞ , ∞ ) (\infty,\infty) ( ∞ , ∞ ) ( − 4 , ± 28 ) (-4,\pm 28) ( − 4 , ± 28 ) ( 676 49 , ± 55796 343 ) (\frac{676}{49},\pm \frac{55796}{343}) ( 49 676 , ± 343 55796 ) ⋯ \cdots ⋯ Q + Q+ Q + ( 56 , 728 ) (56,728) ( 56 , 728 ) ( − 224 9 , ± 5824 27 ) (-\frac{224}{9},\pm \frac{5824}{27}) ( − 9 224 , ± 27 5824 ) ( 1400 2209 , ± 1415960 103823 ) (\frac{1400}{2209},\pm \frac{1415960}{103823}) ( 2209 1400 , ± 103823 1415960 ) ⋯ \cdots ⋯ 2 Q + 2Q+ 2 Q + ( 4 , − 52 ) (4,-52) ( 4 , − 52 ) ( − 9 , ∓ 78 ) (-9,\mp 78) ( − 9 , ∓ 78 ) ( 8836 25 , ∓ 950716 125 ) (\frac{8836}{25},\mp \frac{950716}{125}) ( 25 8836 , ∓ 125 950716 ) ⋯ \cdots ⋯ 3 Q + 3Q+ 3 Q + ( 0 , 0 ) (0,0) ( 0 , 0 ) ( − 56 , ∓ 392 ) (-56,\mp 392) ( − 56 , ∓ 392 ) ( 2744 169 , ∓ 420616 2197 ) (\frac{2744}{169},\mp \frac{420616}{2197}) ( 169 2744 , ∓ 2197 420616 ) ⋯ \cdots ⋯ 4 Q + 4Q+ 4 Q + ( 4 , 52 ) (4,52) ( 4 , 52 ) ( − 100 , ± 260 ) (-100,\pm 260) ( − 100 , ± 260 ) ( 121 144 , ∓ 28171 1728 ) (\frac{121}{144},\mp \frac{28171}{1728}) ( 144 121 , ∓ 1728 28171 ) ⋯ \cdots ⋯ 5 Q + 5Q+ 5 Q + ( 56 , − 728 ) (56,-728) ( 56 , − 728 ) ( − 56 25 , ∓ 728 125 ) (-\frac{56}{25},\mp \frac{728}{125}) ( − 25 56 , ∓ 125 728 ) ( 32256 121 , ± 6883968 1331 ) (\frac{32256}{121},\pm \frac{6883968}{1331}) ( 121 32256 , ± 1331 6883968 ) ⋯ \cdots ⋯
再以 k = 6 k=6 k = 6 为例, 这时 G 1 ( − 8 , 104 ) G_1(-8,104) G 1 ( − 8 , 104 ) 是唯一的自由生成元. 所有有理点 P P P 都能表示成
P = Q + n 1 G 1 P=Q+n_1G_1 P = Q + n 1 G 1
的形式.
再以 k = 8 k=8 k = 8 为例, 这时椭圆曲线没有自由生成元. 椭圆曲线仅有 n Q 6 nQ_6 n Q 6 这六个有理点.
再以 k = 32 k=32 k = 32 为例, 这时椭圆曲线有两个自由生成元 G 1 ( − 1 , 62 ) , G 2 ( 84100 , 25107620 ) G_1(-1,62),\ G_2(84100,25107620) G 1 ( − 1 , 62 ) , G 2 ( 84100 , 25107620 ) . 所有有理点 P P P 都能表示成
P = Q + n 1 G 1 + n 2 G 2 P=Q+n_1G_1+n_2G_2 P = Q + n 1 G 1 + n 2 G 2
的形式.
我们发现对于不同的 k k k , 自由生成元的数量不尽相同. 自由生成元的数量称为椭圆曲线的秩. 例如上面 k = 4 k=4 k = 4 和 k = 6 k=6 k = 6 时秩为 1 1 1 , k = 8 k=8 k = 8 时为 0 0 0 , k = 34 k=34 k = 34 时为 2 2 2 .
Andrew Bremnera 和 Allan Macleod[1] 统计了 k = 1 , 2 , … , 1000 k=1,2,\dots,1000 k = 1 , 2 , … , 1000 的情况, 其中 436 436 436 种情况的秩为 0 0 0 ; 485 485 485 种情 况的秩为 1 1 1 ; 76 76 76 种情况的秩为 2 2 2 , 出现在 k = 34 , 94 , 98 , … k=34,94,98,\dots k = 34 , 94 , 98 , … ; 3 3 3 种情况的秩为 3 3 3 , 出现在 k = 424 , 680 , 975 k=424,680,975 k = 424 , 680 , 975 .
5 正整数解对应的 x x x
本节讨论的是什么样的 ( x , y ) (x,y) ( x , y ) 能使 ( a , b , c ) (a,b,c) ( a , b , c ) 同为正. 在换元公式中将 a a a 取减号, 不考虑任意常数 C C C 的倍乘, 则有
{ a = x − y − ( 8 k + 24 ) b = x + y − ( 8 k + 24 ) c = ( 2 k + 4 ) x + ( 8 k + 24 ) \left\{\begin{aligned}&a=x-y-(8k+24)\\&b=x+y-(8k+24)\\&c=(2k+4)x+(8k+24)\end{aligned}\right. ⎩ ⎨ ⎧ a = x − y − ( 8 k + 24 ) b = x + y − ( 8 k + 24 ) c = ( 2 k + 4 ) x + ( 8 k + 24 )
首先令 a , b a,b a , b 同号即 a b > 0 ab>0 ab > 0 . 即
− ( x − 4 ) ( x − α 1 ) ( x