连分数与佩尔方程
好的,我们这次来探讨一个将连分数理论与丢番图方程紧密联系起来的迷人话题:连分数与佩尔方程。你将看到,之前学过的连分数知识如何成为解决一类古老而重要方程的关键工具。
第一步:回顾与定义——什么是佩尔方程?
首先,我们明确研究对象。佩尔方程通常指以下形式的二元二次丢番图方程:
\[x^2 - n y^2 = 1 \]
其中,\(n\) 是一个给定的正整数,并且不是完全平方数(即 \(\sqrt{n}\) 是无理数)。未知数 \(x\) 和 \(y\) 也是要求为正整数。
- 为什么要求n不是平方数? 如果 \(n = m^2\)(m为整数),那么方程变为 \(x^2 - m^2 y^2 = (x - my)(x + my) = 1\)。由于x和y是正整数,解起来非常简单,只有平凡解 \((x, y) = (\pm1, 0)\)。而当n非平方数时,方程会存在无穷多组非平凡正整数解,问题变得深刻而有趣。
- 基本解:在所有正整数解中,使得 \(x + y\sqrt{n}\) 最小的那个解称为基本解(或最小解)。找到这个基本解是解决佩尔方程的核心。
第二步:解的代数结构——为什么解是无穷的?
佩尔方程的解有一个非常优美的代数结构,这源于一个关键的“放大”性质。
考虑数域 \(\mathbb{Q}(\sqrt{n}) = \{a + b\sqrt{n} \mid a, b \in \mathbb{Q}\}\)。在佩尔方程的解 \((x, y)\) 和这个数域中的数 \(x + y\sqrt{n}\) 之间,存在一个直接的对应关系。
核心定理:如果 \((x_1, y_1)\) 是佩尔方程 \(x^2 - n y^2 = 1\) 的一个解,那么对于任意正整数 \(k\),定义:
\[x_k + y_k \sqrt{n} = (x_1 + y_1 \sqrt{n})^k \]
那么 \((x_k, y_k)\) 也是该方程的一个解。
证明思路:
- 考虑共轭运算:定义 \(x_k - y_k \sqrt{n} = (x_1 - y_1 \sqrt{n})^k\)。
- 将上面两式相乘:
\[ (x_k + y_k \sqrt{n})(x_k - y_k \sqrt{n}) = (x_1 + y_1 \sqrt{n})^k (x_1 - y_1 \sqrt{n})^k = [(x_1 + y_1 \sqrt{n})(x_1 - y_1 \sqrt{n})]^k \]
- 因为 \((x_1, y_1)\) 是解,所以 \(x_1^2 - n y_1^2 = 1\),即 \((x_1 + y_1 \sqrt{n})(x_1 - y_1 \sqrt{n}) = 1\)。
- 代入上式得:\(x_k^2 - n y_k^2 = 1^k = 1\)。证毕。
这个性质意味着,一旦我们找到了基本解 \((x_1, y_1)\),我们就可以通过将其对应的“surds”\(x_1 + y_1 \sqrt{n}\) 不断自乘,生成无穷多个解。可以证明,所有正整数解都可以通过这种方式生成。
现在,最关键的问题来了:如何找到那个 elusive 的基本解 \((x_1, y_1)\)? 答案就藏在 \(\sqrt{n}\) 的连分数展开中。
第三步:连分数登场——寻找基本解的钥匙
回顾一下,任何一个无理数都可以展开为无限简单连分数。特别地,对于非平方整数的平方根 \(\sqrt{n}\),其连分数展开具有一个极其重要的性质:它是周期性的。
即,存在一个周期 \(l\),使得:
\[\sqrt{n} = [a_0; \overline{a_1, a_2, ..., a_l}] \]
其中 \(a_0 = \lfloor \sqrt{n} \rfloor\) 是 \(\sqrt{n}\) 的整数部分,上划线表示 \(a_1, a_2, ..., a_l\) 这个序列会无限循环下去。
解决佩尔方程的关键定理:
设 \(\sqrt{n}\) 的连分数展开的周期为 \(l\)。
- 如果周期 \(l\) 是偶数,那么基本解 \((x_1, y_1)\) 由第 \(l-1\) 个渐近分数给出。
\[ \frac{x_1}{y_1} = [a_0; a_1, a_2, ..., a_{l-1}] \]
- 如果周期 \(l\) 是奇数,那么基本解 \((x_1, y_1)\) 由第 \(2l-1\) 个渐近分数给出。
\[ \frac{x_1}{y_1} = [a_0; a_1, a_2, ..., a_{2l-1}] \]
换句话说,你只需要计算 \(\sqrt{n}\) 的连分数展开,直到第一个周期结束(如果周期是偶数)或第二个周期结束(如果周期是奇数),取那个时刻的渐近分数,它的分子和分母就是佩尔方程的基本解。
第四步:实例演示——以 \(x^2 - 7y^2 = 1\) 为例
让我们通过一个具体的例子来实践这个方法。
- 展开 \(\sqrt{7}\) 为连分数:
计算过程如下:
- \(a_0 = \lfloor \sqrt{7} \rfloor = 2\)
- \(\sqrt{7} = 2 + (\sqrt{7} - 2)\), 其倒数为 \(1 / (\sqrt{7} - 2) = (\sqrt{7}+2)/3\)
- \(a_1 = \lfloor (\sqrt{7}+2)/3 \rfloor = 1\)
- 继续这个过程,我们得到:
\[ \sqrt{7} = [2; \overline{1, 1, 1, 4}] \]
周期为 \(l = 4\),是偶数。
-
确定要用的渐近分数:
因为周期 \(l=4\) 是偶数,我们取第 \(l-1 = 3\) 个渐近分数。 -
计算渐近分数:
连分数的循环节前部分是 \([2; 1, 1, 1]\)。
- 收敛项 0: \(2/1\)
- 收敛项 1: \([2; 1] = 2 + 1/1 = 3/1\)
- 收敛项 2: \([2; 1, 1] = 2 + 1/(1 + 1/1) = 2 + 1/2 = 5/2\)
- 收敛项 3: \([2; 1, 1, 1] = 2 + 1/(1 + 1/(1 + 1/1)) = 2 + 1/(1 + 1/2) = 2 + 1/(3/2) = 2 + 2/3 = 8/3\)
-
验证:
渐近分数是 \(8/3\),所以 \(x_1 = 8\), \(y_1 = 3\)。
代入方程:\(8^2 - 7 \times 3^2 = 64 - 63 = 1\)。正确!这就是基本解。 -
生成更多解:
利用代数结构,我们可以生成下一个解:
\[ (x_2 + y_2 \sqrt{7}) = (8 + 3\sqrt{7})^2 = 64 + 48\sqrt{7} + 63 = 127 + 48\sqrt{7} \]
所以 \((x_2, y_2) = (127, 48)\)。验证:\(127^2 - 7 \times 48^2 = 16129 - 16128 = 1\)。
总结
连分数与佩尔方程的联系是数论中一个经典的“漂亮”案例:
- 佩尔方程 \(x^2 - n y^2 = 1\)(n非平方数)有无穷多组正整数解。
- 所有解都可以通过基本解 \((x_1, y_1)\) 的幂来生成:\(x_k + y_k\sqrt{n} = (x_1 + y_1\sqrt{n})^k\)。
- 找到基本解的关键在于计算 \(\sqrt{n}\) 的周期性连分数展开。
- 基本解恰好由特定位置(取决于周期的奇偶性)的渐近分数给出。
这个方法将连分数的逼近性质与二次域的代数结构完美地结合在一起,提供了一个求解佩尔方程的系统、有效的算法。