Files
SolutionEuler/solutions/0045.TrianPentaHexa/readme.md
Sidney Zhang a660ce3942 feat(euler_45):添加欧拉项目第45题解决方案
📝 docs(euler_45):添加详细数学推导和佩尔方程说明文档
2026-01-26 15:36:19 +08:00

18 KiB
Raw Blame History

三角形数、五边形数和六边形数之间有一个重要关系:每一个六边形数都是三角形数。具体来说,六边形数 (H_n = n(2n-1)) 等于三角形数 (T_{2n-1} = (2n-1)(2n)/2 = n(2n-1))。因此,问题转化为寻找同时是五边形数和六边形数的数(这样的数自动是三角形数)。

已知 (T_{285} = P_{165} = H_{143} = 40755),需要找到下一个这样的数。利用五边形数和六边形数的公式,设 (P_k = H_j),得到方程: [ k(3k-1)/2 = j(2j-1) ] 两边乘以2并整理得 [ 3k^2 - k = 4j^2 - 2j ] 通过配方,引入变量 (u = 6k - 1) 和 (v = 4j - 1),可将其转化为佩尔方程: [ u^2 - 3v^2 = -2 ] 其中 (u \equiv 5 \pmod{6})(v \equiv 3 \pmod{4}) 以保证 (k) 和 (j) 为整数。

该方程的解可通过迭代生成:若 ((u, v)) 是一组解,则下一组解为 ((u', v') = (2u + 3v, u + 2v))。从已知解 ((u, v) = (989, 571))(对应 40755开始迭代并检查同余条件得到下一组满足条件的解为 ((191861, 110771))。

由此计算出:

  • (k = (u + 1)/6 = 31977)
  • (j = (v + 1)/4 = 27693) 对应的数为: [ x = P_k = \frac{k(3k-1)}{2} = \frac{31977 \times 95930}{2} = 1533776805 ] 验证可知该数同时也是六边形数和三角形数。

因此,下一个同时是三角形数、五边形数和六边形数的数是 1533776805


关于 佩尔方程 Pell's Equation

下面从历史来源、基本定义与形式、解的存在性与结构、典型求解方法、解之间的关系、广义佩尔方程及应用等方面,对佩尔方程做一个系统、全面且尽量直观的介绍。


一、历史来源与名称由来

1.1 古印度的起源

佩尔方程实质上起源很早,最系统的早期研究来自古印度数学校派:

  • 7世纪的 Brahmagupta婆罗摩笈多 就研究了形如
    [ x^2 - Dy^2 = 1 \quad\text{或}\quad x^2 - Dy^2 = k ] 的方程。他提出了著名的 “复合公式composition:如果
    [ x_1^2 - Dy_1^2 = n_1,\quad x_2^2 - Dy_2^2 = n_2 ] 则 [ (x_1x_2 + D y_1 y_2)^2 - D(x_1y_2 + x_2y_1)^2 = n_1 n_2 ] 从而可以“复合”已有解构造新解,这是后世单位理论和解结构的雏形。

  • 后来的印度数学家如 Bhaskara II、Narayana Pandit 等,发展了著名的 Chakravala循环法 算法,这是一种求解佩尔型方程的迭代算法,在计算效率和思想深度上都相当先进[1][2][3]。

1.2 欧洲的再发现与系统化

  • 17世纪Fermat费马 在给欧洲同行的挑战中多次提出这类方程,要求找到对
    [ x^2 - Dy^2 = 1 ] 的普遍解法。
  • 英国数学家 Brouncker布朗克 利用连分数方法最早给出了一般解法[1][2][4]。
  • 18世纪Lagrange拉格朗日 从连分数理论出发,给出了系统而完整的理论(包括“对任意非平方正整数 D总存在无穷多解”的严格证明

1.3 “佩尔方程”名称的误会

  • 18世纪的 Euler欧拉 在论述这类方程时,误将相关成果归功于英国数学家 John Pell,而实际上 Pell 本人在该方程上的贡献并不突出。
  • 这个误会流传开来方程被称作“Pell's equation”中文常译为 佩尔方程[1][3][6][9]。

总结:佩尔方程起源于印度,被费马等人推动进入欧洲视野,拉格朗日完成理论化,最终却误以 Pell 命名。


二、基本定义与形式

2.1 标准佩尔方程

通常所说的“佩尔方程”是指:

[ x^2 - Dy^2 = 1 ]

其中:

  • (D) 为正整数,且 不是完全平方数(若为完全平方则问题退化)。
  • 要求 (x,y) 为整数(常常关注正整数解)。

若 (D) 是完全平方数,例如 (D = k^2),则 [ x^2 - k^2 y^2 = (x - ky)(x + ky) = 1 ] 整数解只有平凡解 ((x,y) = (\pm1, 0)),因此在数论中通常只考虑 (D) 非平方的情况。

2.2 负佩尔方程

另一个常见的变体是

[ x^2 - Dy^2 = -1 ]

通常称为 负佩尔方程。是否存在解取决于 (D) 的性质,尤其与 (\sqrt{D}) 的连分数展开 周期长度的奇偶性 有关(下文会提到)。

2.3 广义佩尔方程

再推广一步,可以考虑

[ x^2 - Dy^2 = N ]

其中 (N) 为任意整数。这类方程常称为 广义佩尔方程generalized Pell equation[2][3][5][7]。

  • 当 (N = 1) 就是标准佩尔方程。
  • 当 (N = -1) 即负佩尔方程。
  • 一般 (N) 的解的存在性和结构与标准方程的解有密切联系。

三、解的存在性与基本结构

3.1 拉格朗日定理:总有无穷多解

定理Lagrange
对任意非平方正整数 (D),方程 [ x^2 - Dy^2 = 1 ] 在整数中有 无限多组非平凡解 ((x,y))[1][2][3][6]。

这意味着:

  • 不仅总有解,而且解集非常丰富。
  • 所有正整数解中存在一组最小的正解 ((x_1,y_1)),称为 基本解 / 最小解 / fundamental solution
  • 其他所有正整数解都可以从这组基本解“生成”。

3.2 解的指数结构

一个非常重要的结构结论是:

若 ((x_1, y_1)) 是 (x^2 - Dy^2 = 1) 的基本解,则所有正整数解 ((x_n,y_n)) 可以用 [ x_n + y_n\sqrt{D} = (x_1 + y_1\sqrt{D})^n,\quad n = 1,2,3,\dots ] 来表示。

其中:

  • (n = 1) 时就是基本解;
  • 对每个 (n)((x_n,y_n)) 都是整数解;
  • 不同的 (n) 给出互不相同的解。

这实际上利用了二次域 (\mathbb{Q}(\sqrt{D})) 中的“单位”(范数为 1 的代数整数),即: [ N(x + y\sqrt{D}) = (x + y\sqrt{D})(x - y\sqrt{D}) = x^2 - Dy^2 ] 佩尔方程的解正是 范数为 1 的单位元


四、典型求解方法:为什么连分数如此核心?

佩尔方程最实用、也最经典的求解方法是 连分数法continued fractions。其核心在于一个深刻的事实:

(\sqrt{D}) 的连分数展开是周期性的;
佩尔方程的解可以通过其连分数的收敛分数convergents获得。

4.1 (\sqrt{D}) 的连分数展开

对于 (D) 非平方,(\sqrt{D}) 是无理数,它的连分数展开形式是

[ \sqrt{D} = [a_0; a_1, a_2, \dots] = a_0 + \cfrac{1}{a_1 + \cfrac{1}{a_2 + \cdots}} ]

且有一个重要结论[1][3][6][10]

  • 该连分数是 纯周期的(自某处起循环) [ \sqrt{D} = [a_0; \overline{a_1, a_2, \dots, a_n}] ] 上面的横线表示 ((a_1,\dots,a_n)) 反复循环。
  • 这个周期长度 (n)(有时也写作 (\ell))决定了佩尔方程解的结构,尤其和负佩尔方程是否有解有强关联。

4.2 收敛分数与基本解

连分数的第 (k) 个 收敛分数 (p_k/q_k) 由递推公式给出: [ \begin{cases} p_{-2}=0,; p_{-1}=1 \ q_{-2}=1,; q_{-1}=0 \ p_k = a_k p_{k-1} + p_{k-2} \ q_k = a_k q_{k-1} + q_{k-2} \end{cases} ]

关键事实:

  • 对某些 (k)((x,y)=(p_k,q_k)) 会满足 (x^2 - Dy^2 = \pm 1)。
  • 周期长度的奇偶决定我们应看第几个收敛分数来得到基本解

更具体地(略去严密证明,只给结论):

  • 若周期长度 (n) 为 偶数,则
    基本解来自 “周期结束位置”的收敛分数。
  • 若周期长度 (n) 为 奇数,则
    通常需要看“两个周期”的收敛分数,即更靠后的一项。

典型例子:
(\sqrt{61}) 的连分数为 [ \sqrt{61} = [7; \overline{1,4,3,1,2,2,1,3,4,1,14}] ] 周期长度为 11奇数对应的基本解为 [ x_1 = 1766319049,\quad y_1 = 226153980 ] 这是一个非常大的解,说明基本解 可能极其巨大(这在计算理论上非常重要)。

4.3 Chakravala循环法

另一个经典方法是印度的 Chakravala algorithm(循环法)[2][3][5]

  • 通过从“近似解”开始,不断调整,使
    [ x^2 - Dy^2 = k ] 中的绝对值 (|k|) 逐步缩小,最终达到 (k = \pm1)。
  • 每一步更新利用类似 Brahmagupta 复合公式的构造。
  • 在很多 (D) 的情形下,它比直接算连分数更高效。

现代教材多以连分数为主但在历史与算法思想上Chakravala 非常值得单独研究。


五、解之间的关系与递推公式

5.1 “乘法封闭”与单位群结构

设 ((x_1,y_1)) 和 ((x_2,y_2)) 均是 [ x^2 - Dy^2 = 1 ] 的解,则考虑 [ (x_1 + y_1\sqrt{D})(x_2 + y_2\sqrt{D}) = (x_3 + y_3\sqrt{D}) ]

展开可得: [ x_3 = x_1x_2 + Dy_1y_2,\quad y_3 = x_1y_2 + x_2y_1 ] 可以验证: [ x_3^2 - Dy_3^2 = (x_1^2 - Dy_1^2)(x_2^2 - Dy_2^2) = 1\cdot1 = 1 ] 即:两个解的“乘法”仍是解[2][6][8]。这说明佩尔方程解在运算 [ (x,y) \cdot (x',y') = (x x' + D y y',, x y' + x' y) ] 下形成一个 阿贝尔群,这本质上就是 (\mathbb{Z}[\sqrt{D}]) 中单位元群。

5.2 从基本解生成所有解:指数关系

如前所述,若 ((x_1,y_1)) 是基本解,则 [ x_n + y_n\sqrt{D} = (x_1 + y_1\sqrt{D})^n ]

因此得到显式递推公式(可由二项式展开得到):

  • 一阶递推: [ \begin{cases} x_{n+1} = x_1 x_n + D y_1 y_n \ y_{n+1} = x_1 y_n + y_1 x_n \end{cases} ]
  • 二阶线性递推(只用 (x_n) 自身): [ x_{n+1} = 2 x_1 x_n - x_{n-1},\quad y_{n+1} = 2 x_1 y_n - y_{n-1} ] 这是因为 ((x_1 + y_1\sqrt{D})) 类似“特征根”,解序列是形如 (\lambda^n) 的线性递推。

这些递推在研究解的增长速度、解中出现“完全幂”等性质时非常有用[8][9]。


六、广义佩尔方程 (x^2 - Dy^2 = N)

6.1 基本结构

广义佩尔方程: [ x^2 - Dy^2 = N ] 其中 (D) 非平方,(N) 为任意整数[2][3][5][7]。

核心事实:

  • 若存在 一个整数解 ((x_0,y_0)),且标准佩尔方程有基本解 ((x_1,y_1)),则 所有解都可以写成 [ x + y\sqrt{D} = (x_0 + y_0\sqrt{D})(x_1 + y_1\sqrt{D})^n,\quad n\in\mathbb{Z} ]
  • 即:解的集合是“单位群轨道上的一个整点”。

更直观地说:

  1. 先解标准方程 (x^2 - Dy^2 = 1),求出单位元 (u = x_1 + y_1\sqrt{D})
  2. 若能找到一个满足 (x^2 - Dy^2 = N) 的特解 (v = x_0 + y_0\sqrt{D})
  3. 则所有解都是 (v, uv, u^2 v, u^3 v, ...) 这一无限序列中的整数点。

6.2 解的存在性与条件

  • 广义方程并不总有解,它的可解性与模 (D) 的二次剩余、类群结构等深层理论有关。
  • 一旦有一个解,通常便会有无穷多解,这是因为可以不断乘以单位元 (u)。

在具体计算中,常先通过模数检查、有限搜索或用连分数辅助找到一个特解,再用标准佩尔方程的单位元生成全部解。


七、佩尔方程通常解决或涉及哪些问题?

佩尔方程本身就是经典的丢番图问题,但它也广泛出现在以下情景中:

7.1 有理逼近与“最佳逼近”

  • 连分数理论告诉我们:连分数的收敛分数 (p_k/q_k) 给出对实数 (\alpha) 的 最佳有理逼近
  • 对 (\alpha = \sqrt{D}) 而言,满足 [ \left| \sqrt{D} - \frac{x}{y} \right| ] 非常小的分数 (\frac{x}{y}) 常常来自佩尔方程解,因为若 [ x^2 - Dy^2 = \pm 1 ] 则 [ \left|\sqrt{D} - \frac{x}{y}\right| = \left|\frac{x^2 - Dy^2}{y(\sqrt{D} + x/y)}\right| \approx \frac{1}{2 \sqrt{D} y^2} ]
  • 因此,佩尔方程的解经常用于构造对平方根的极优有理近似

7.2 二次域与代数数论中的单位问题

在二次代数数域 (\mathbb{Q}(\sqrt{D})) 中:

  • 环 (\mathbb{Z}[\sqrt{D}]) 的单位元集合与佩尔方程的解一一对应: [ N(x + y\sqrt{D}) = x^2 - Dy^2 = \pm 1 ]
  • 研究单位元结构Dirichlet 单位定理的特例)即是在研究佩尔方程。
  • 类数、理想分解、模形式等更高阶理论中,都频繁出现佩尔方程及其广义形式[3][7][9]。

7.3 组合、几何与图论中的出现

  • 一些关于 整数点格、几何图形面积 的问题会转化为方程 (x^2 - Dy^2 = N)
  • 在某些组合结构(例如 dessins d'enfants 的不变量研究)中也出现佩尔方程[7]。

7.4 密码学与算法复杂度

  • 佩尔方程提供了构造巨大整数对的自然途径,可用于某些密码构造或伪随机数生成;
  • 同时也出现在对某些加密算法的攻击分析中;
  • 在计算复杂性研究中,用来测试数论算法的效率。

八、具体例子与直观体会

8.1 小 D 的基本解示例

根据理论和连分数计算,可得到若干典型 D 的基本解(这里列出部分)[1][2][3][6]

(D) 基本解 ((x_1, y_1))
2 (3, 2)
3 (2, 1)
5 (9, 4)
6 (5, 2)
7 (8, 3)
8 (3, 1)
10 (19, 6)
11 (10, 3)
12 (7, 2)
14 (15, 4)
15 (4, 1)
17 (33, 8)
18 (17, 4)
19 (170, 39)
20 (9, 2)
21 (55, 12)
22 (197, 42)
23 (24, 5)
24 (5, 1)
28 (127, 24)
31 (1520, 273)
43 (3482, 531)
46 (24335, 3588)
61 (1766319049, 226153980)

可以看到:

  • 有的 (D)(如 2,3,5基本解较小
  • 有的 (D)(如 61基本解极大这正是为什么佩尔方程在计算机上求解仍然具有挑战性。

8.2 利用递推获得更高阶解的感受

以 (D = 2) 为例,方程 [ x^2 - 2y^2 = 1 ] 基本解为 ((3,2))。则第二个解由 [ x_2 + y_2\sqrt{2} = (3 + 2\sqrt{2})^2 = 17 + 12\sqrt{2} ] 即 ((x_2,y_2) = (17,12)),验证: [ 17^2 - 2\cdot 12^2 = 289 - 288 = 1 ] 第三个解: [ (3 + 2\sqrt{2})^3 = 99 + 70\sqrt{2} \Rightarrow (x_3,y_3) = (99,70) ] 解的规模指数增长,这种指数级膨胀是佩尔方程序列的一大特征。


九、总结:佩尔方程的内涵与价值

综合上述内容,可以从几个角度理解佩尔方程的“全貌”:

  1. 来源

    • 起源于古印度的丢番图方程研究,是 BrahmaguptaBhaskaraChakravala 传统的重要对象;
    • 17世纪由 Fermat 挑战推动Brouncker 首给欧洲解法18世纪 Lagrange 完成理论统一;
    • 名称源自 Euler 的误归功John Pell 实际贡献有限。
  2. 通常解决的问题

    • 经典丢番图问题:给定非平方 (D),求所有整数解 ((x,y)) 使 (x^2 - Dy^2 = 1)
    • 给出 (\sqrt{D}) 的最佳有理逼近;
    • 在二次代数数域中,描述环 (\mathbb{Z}[\sqrt{D}]) 的单位元结构;
    • 为广义方程 (x^2 - Dy^2 = N) 提供单位群背景,从而刻画其全部解;
    • 在密码学、几何、图论等领域,作为子问题或工具频繁出现。
  3. 解的关系与结构

    • 存在唯一(在正象限)的最小正解 ((x_1,y_1)),称为基本解;
    • 所有解满足 [ x_n + y_n\sqrt{D} = (x_1 + y_1\sqrt{D})^n ] 呈现指数结构;
    • 两个解的“乘积”仍是解,形成单位群,递推关系 [ x_{n+1} = x_1x_n + Dy_1y_n,\quad y_{n+1} = x_1y_n + y_1x_n ] 或二阶线性递推形式;
    • 对广义方程 (x^2 - Dy^2 = N),一旦有一个特解 ((x_0,y_0)),所有解由 [ (x_0 + y_0\sqrt{D})(x_1 + y_1\sqrt{D})^n ] 给出。
  4. 解法的核心思路

    • 通过 (\sqrt{D}) 的 连分数展开 及其收敛分数,找到基本解;
    • 或用 Chakravala 循环法等算法迭代逼近;
    • 本质上都是在寻找“范数为 1 的单位”。

佩尔方程表面上只是一个简单的二次方程,但它串联了:

  • 古典丢番图方程;
  • 连分数与最优有理逼近;
  • 代数数论中的单位与范数;
  • 算法数论和复杂性问题。

从历史、理论到算法与应用,都是一个非常典型又极具深度的数学对象。


References

[1] Pell's equation. https://en.wikipedia.org/wiki/Pell's_equation
[2] Pell equation - AoPS Wiki. https://artofproblemsolving.com/wiki/index.php/Pell_equation
[3] Pell Equation -- Wolfram MathWorld. https://mathworld.wolfram.com/PellEquation.html
[4] Pell's equation - MacTutor History of Mathematics. https://mathshistory.st-andrews.ac.uk/HistTopics/Pell/
[5] PELL'S EQUATION, I & II, by K. Conrad (PDFs). https://kconrad.math.uconn.edu/blurbs/ugradnumthy/pelleqn1.pdf / https://kconrad.math.uconn.edu/blurbs/ugradnumthy/pelleqn2.pdf
[6] Continued Fractions and Pell's Equation (various lecture notes). https://crypto.stanford.edu/pbc/notes/contfrac/pell.html
[7] Generalized Pell equations and applications (Stanford / UConn handouts). http://virtualmath1.stanford.edu/~conrad/154Page/handouts/genpell.pdf
[8] Recurrence relations for Pell's equation solutions (MathStackExchange, etc.). https://math.stackexchange.com/questions/2932750/recurrence-relation-for-pells-equation-x2-2y2-1
[9] On the BrahmaguptaFermatPell Equation. https://webusers.imj-prg.fr/~michel.waldschmidt/articles/pdf/BrahmaguptaFermatPellEn.pdf
[10] Continued fractions and Pell's equation (expository PDFs). https://www.math.uchicago.edu/~may/VIGRE/VIGRE2008/REUPapers/Yang.pdf