MathLabs

算术与数论

佩尔方程

方程 x2−dy2=1x^2-dy^2=1,其整数解与连分数相关联。

直观直觉:双曲线上逼近 d\sqrt{d} 的整数点

寻找满足 x2−2y2=1x^2-2y^2=1 的整数 x,yx,y。尝试较小的值:(x,y)=(3,2)(x,y)=(3,2) 成立,因为 9−8=19-8=1。整理得 (xy)2=2+1y2\left(\frac{x}{y}\right)^2=2+\frac{1}{y^2},于是 x/y=3/2=1.5x/y=3/2=1.5 已经是对 2≈1.41421\sqrt{2}\approx 1.41421 惊人精确的近似。形如 x2−dy2=1x^2 - d y^2 = 1 的方程——称为佩尔方程——与连分数及最佳有理逼近理论密不可分。

连分数渐近分数的路径图,其中一个节点被高亮为佩尔方程的基本解。
将 d\sqrt{d} 的连分数渐近分数画成路径图:每个节点是一个渐近分数 pk/qkp_k/q_k,高亮节点为基本解。

进阶定义、基本解与结构

定义: 佩尔方程与基本解

对不是完全平方数的正整数 dd,x2−dy2=1x^2 - d y^2 = 1 称为佩尔方程。在其正整数解 (x,y)(x,y) 中,xx 最小(等价地 yy 最小)的那个称为基本解 (x1,y1)(x_1,y_1)。

x2−dy2=1,d∈Z>0 not a perfect squarex^2 - d y^2 = 1,\qquad d\in\mathbb{Z}_{>0}\ \text{not a perfect square}

将左边分解为 (x−yd)(x+yd)=1(x-y\sqrt d)(x+y\sqrt d)=1,佩尔方程就变成关于环 Z[d]\mathbb{Z}[\sqrt d] 的命题:解对应于范数为 11 的元素,两个这样的元素相乘仍得到一个。特别地,一旦知道 (x1,y1)(x_1,y_1),其余所有解都可通过取幂得到:xn+ynd=(x1+y1d)nx_n+y_n\sqrt{d} = (x_1+y_1\sqrt{d})^n。

(x1+y1d)(x1−y1d)=1 ⟹ xn+ynd=(x1+y1d)n(x_1+y_1\sqrt d)(x_1-y_1\sqrt d)=1 \ \Longrightarrow\ x_n+y_n\sqrt d = (x_1+y_1\sqrt d)^n
较小 dd 的基本解
ddd\sqrt d 的连分数基本解 (x1,y1)(x_1,y_1)
22[1;2‾][1;\overline{2}](3,2)(3,2)
33[1;1,2‾][1;\overline{1,2}](2,1)(2,1)
55[2;4‾][2;\overline{4}](9,4)(9,4)
77[2;1,1,1,4‾][2;\overline{1,1,1,4}](8,3)(8,3)

进阶定理与证明

对每个不是完全平方数的正整数 dd,x2−dy2=1x^2 - d y^2 = 1 都存在正整数解 x,yx,y。

为什么成立?

双曲线 x2−dy2=1x^2-dy^2=1 显然有实数点,但它必经过某个格点这一点绝非显然——该定理通过对有理逼近的巧妙鸽笼论证,保证对每个非完全平方数 dd 都必然如此。

证明

由狄利克雷逼近定理,对任意整数 Q>0Q>0,存在整数 p,qp,q,1≤q≤Q1\le q\le Q,且 ∣d−pq∣<1qQ\left|\sqrt d - \frac{p}{q}\right|<\frac{1}{qQ}。令 Q→∞Q\to\infty 得到无穷多对 (p,q)(p,q) 满足 ∣d−pq∣<1q2\left|\sqrt d-\frac{p}{q}\right|<\frac{1}{q^2}。

对每一对这样的数,∣p−qd∣<1q|p-q\sqrt d|<\frac{1}{q},故 ∣p2−dq2∣=∣p−qd∣⋅∣p+qd∣<1q(2qd+1q)<2d+1|p^2-dq^2|=|p-q\sqrt d|\cdot|p+q\sqrt d|<\frac{1}{q}\left(2q\sqrt d+\frac{1}{q}\right)<2\sqrt d+1。因此 p2−dq2p^2-dq^2 只能取区间 (−2d−1, 2d+1)(-2\sqrt d-1,\,2\sqrt d+1) 内有限多个整数值,而 (p,q)(p,q) 却有无穷多对。

由鸽笼原理,该有限范围内某个固定的非零整数 kk 使得 p2−dq2=kp^2-dq^2=k 对无穷多对 (p,q)(p,q) 成立。在这无穷多对中,再由鸽笼原理,有无穷多对满足相同的剩余类 p≡p0, q≡q0(mod∣k∣)p\equiv p_0,\ q\equiv q_0\pmod{|k|}。

取两对这样不同的 (p1,q1)≠(p2,q2)(p_1,q_1)\neq(p_2,q_2),满足 p12−dq12=p22−dq22=kp_1^2-dq_1^2=p_2^2-dq_2^2=k 且模 ∣k∣|k| 剩余相同。设 x+yd=(p1+q1d)(p2−q2d)kx+y\sqrt d = \frac{(p_1+q_1\sqrt d)(p_2-q_2\sqrt d)}{k};展开可知 x=p1p2−dq1q2kx=\frac{p_1p_2-dq_1q_2}{k} 与 y=p1q2−p2q1ky=\frac{p_1q_2-p_2q_1}{k} 正因模 ∣k∣|k| 剩余相同而确为整数,而范数 N(a+bd)=a2−db2N(a+b\sqrt d)=a^2-db^2 的积性给出 x2−dy2=k⋅kk2=1x^2-dy^2=\frac{k\cdot k}{k^2}=1。由于 (p1,q1)≠(p2,q2)(p_1,q_1)\neq(p_2,q_2) 但极限下比值相同,可验证 y≠0y\neq 0,将 (x,y)(x,y) 换成 (∣x∣,∣y∣)(|x|,|y|)(仍是解,因为只出现平方)即得正整数解。

若 (x1,y1)(x_1,y_1) 是 x2−dy2=1x^2 - d y^2 = 1 的基本解,则每个正整数解 (x,y)(x,y) 都等于某个 n≥1n\ge 1 对应的 (xn,yn)(x_n,y_n),其中 xn+ynd=(x1+y1d)nx_n+y_n\sqrt{d} = (x_1+y_1\sqrt{d})^n。

为什么成立?

它说明无穷多解并非神秘散乱的集合,而是通过反复“乘以”最小解生成的完全可预测的类几何序列——把无限的搜索归结为只需找到一个数。

证明

首先验证由 xn+ynd=(x1+y1d)nx_n+y_n\sqrt d=(x_1+y_1\sqrt d)^n 定义的 (xn,yn)(x_n,y_n) 对每个 nn 确实是解:取共轭,xn−ynd=(x1−y1d)nx_n-y_n\sqrt d=(x_1-y_1\sqrt d)^n,故 xn2−dyn2=(xn+ynd)(xn−ynd)=[(x1+y1d)(x1−y1d)]n=(x12−dy12)n=1n=1x_n^2-dy_n^2=(x_n+y_n\sqrt d)(x_n-y_n\sqrt d)=\left[(x_1+y_1\sqrt d)(x_1-y_1\sqrt d)\right]^n=(x_1^2-dy_1^2)^n=1^n=1。

现设 (x,y)(x,y) 是任意不具有此形式的正整数解;由于当 n→∞n\to\infty 时 xn→∞x_n\to\infty,存在唯一的 nn 使 xn+ynd≤x+yd<xn+1+yn+1d=(xn+ynd)(x1+y1d)x_n+y_n\sqrt d \le x+y\sqrt d < x_{n+1}+y_{n+1}\sqrt d = (x_n+y_n\sqrt d)(x_1+y_1\sqrt d)。

两边除以 (xn+ynd)(x_n+y_n\sqrt d),即乘以其逆 (xn−ynd)(x_n-y_n\sqrt d)(由 xn2−dyn2=1x_n^2-dy_n^2=1 保证有效):设 x′+y′d=(x+yd)(xn−ynd)x'+y'\sqrt d = (x+y\sqrt d)(x_n-y_n\sqrt d)。则 1≤x′+y′d<x1+y1d1\le x'+y'\sqrt d < x_1+y_1\sqrt d,且 x′2−dy′2=(x2−dy2)(xn2−dyn2)=1⋅1=1x'^2-dy'^2=(x^2-dy^2)(x_n^2-dy_n^2)=1\cdot 1=1,故 (x′,y′)(x',y') 也是佩尔方程的解。

利用 x′+y′d≥1x'+y'\sqrt d\ge 1 与 x′2−dy′2=1x'^2-dy'^2=1 做简短计算可得 x′≥1x'\ge 1 且 y′≥0y'\ge 0(若某解满足 x′+y′d≥1x'+y'\sqrt d\ge 1 但 y′<0y'<0,则会迫使 x′>x1x'>x_1,与 x′+y′d<x1+y1dx'+y'\sqrt d<x_1+y_1\sqrt d 连同范数方程矛盾)。若 y′>0y'>0,则 (x′,y′)(x',y') 是满足 x′+y′d<x1+y1dx'+y'\sqrt d<x_1+y_1\sqrt d 的正解,与基本解的最小性矛盾。故 y′=0y'=0,从而 x′=1x'=1,即 x+yd=xn+yndx+y\sqrt d=x_n+y_n\sqrt d,故 (x,y)=(xn,yn)(x,y)=(x_n,y_n)——与假设矛盾。

因此每个正解恰好是某个 (xn,yn)(x_n,y_n),证明了基本解生成了整个解集。

进阶实际应用与典型例题

佩尔方程远不止是一个谜题:它支配着机械齿轮设计中所用的最佳有理逼近,其数论支撑着经典的整数分解算法,而对大 dd 计算其基本解正是 Hallgren 的量子算法能在多项式时间内求解的计算问题——目前尚无已知的高效经典方法。

例题: 求 d=2d=2 的基本解

利用 2\sqrt{2} 的连分数求 x2−2y2=1x^2-2y^2=1 的基本解,再生成下一个解。

解答

2\sqrt2 的连分数为 [1;2‾]=1+12+12+⋯[1;\overline{2}]=1+\cfrac{1}{2+\cfrac{1}{2+\cdots}},其渐近分数为 1, 32, 75, 1712, 4129,…1,\ \frac{3}{2},\ \frac{7}{5},\ \frac{17}{12},\ \frac{41}{29},\dots

检验渐近分数 32\frac{3}{2}:32−2⋅22=9−8=13^2-2\cdot 2^2=9-8=1。这是满足条件的最小渐近分数,故基本解为 (x1,y1)=(3,2)(x_1,y_1)=(3,2)。

用递推式 xn+ynd=(x1+y1d)nx_n+y_n\sqrt{d} = (x_1+y_1\sqrt{d})^n,取 n=2n=2:x2+y22=(3+22)2=9+122+8=17+122x_2+y_2\sqrt2=(3+2\sqrt2)^2=9+12\sqrt2+8=17+12\sqrt2,故 (x2,y2)=(17,12)(x_2,y_2)=(17,12)。

验证:172−2⋅122=289−288=117^2-2\cdot 12^2=289-288=1,确认了下一个解,恰与上面求得的渐近分数 1712\frac{17}{12} 相符——正如理论所预测。

例题: 工程逼近:设计接近 2\sqrt{2} 的齿轮比

某机构需要两个啮合齿轮,其齿数比用较小的整数齿数尽可能逼近 2\sqrt2,使得多次旋转后误差仍然很小。利用佩尔方程的渐近分数来选择齿数并估计误差。

解答

由 x2−2y2=1x^2-2y^2=1 的基本解 (3,2)(3,2),比值 3/2=1.53/2=1.5 给出 ∣3/2−2∣≈0.0858|3/2-\sqrt2|\approx 0.0858——可用,但对精密机械而言过于粗糙。

利用由 3+223+2\sqrt2 平方得到的下一个渐近分数 (17,12)(17,12):齿数为 1717 和 1212 的齿轮对给出比值 17/12≈1.4166717/12\approx 1.41667,且 ∣17/12−2∣≈0.00245|17/12-\sqrt2|\approx 0.00245,仅略微增加齿数就比 3/23/2 方案精确了近 3535 倍。

对连分数任意渐近分数 pk/qkp_k/q_k 的一般界为 ∣pkqk−2∣<1qk2\left|\frac{p_k}{q_k}-\sqrt2\right|<\frac{1}{q_k^2},因此当工程师转向下一个佩尔解 (x3,y3)(x_3,y_3)(由 (3+22)3=99+702(3+2\sqrt2)^3=99+70\sqrt2 即 99/7099/70 得到)时,齿数增至 7070,但误差缩小到 1/702≈0.00021/70^2\approx 0.0002 以下。

这体现了佩尔方程中明确的工程权衡:每个后续解 (xn,yn)(x_n,y_n) 都是用制造成本的增加(更多齿数,即更大的 yny_n)换取可量化、快速缩小的逼近误差,让设计者能在此曲线上精确选取符合预算与精度要求的点。

x2−2y2=1x^2-2y^2=1 的基本解是什么?

若 (x1,y1)(x_1,y_1) 是基本解,解 (x2,y2)(x_2,y_2) 如何得到?

x2−3y2=−1x^2-3y^2=-1 有整数解吗?

Hallgren 的算法用哪种计算在多项式时间内求解佩尔方程?

参考文献

  1. Sean Hallgren (2007). Polynomial-time quantum algorithms for Pell's equation and the principal ideal problem · DOI:10.1145/1206035.1206039
  2. Hendrik W. Lenstra Jr. (2002). Solving the Pell Equation