Skip to content

定理Theorem

本原勾股三数组的完整参数化

Primitive Pythagorean triples · Euclid parametrization of Pythagorean triples · 本原勾股三数组

双向证明本原勾股三数组与互素异奇偶参数的唯一对应,恢复参数、列尽固定斜边的答案,并迁移到圆的有理点。

(3,4,5) 与 (5,12,13) 满足同一个平方关系,怎样系统地产生下一组,并知道没有漏掉某些形状?只给一个会产生例子的公式还不够。本页要证明公式的反方向:每个本原答案都能恢复出唯一的一对参数。

形式陈述 ​

正整数三元组 (a,b,c) 满足 a2+b2=c2 时,称为勾股三数组。若最大公因数 gcd(a,b,c)=1,称为本原三数组。

每个本原三数组的两条直角边恰有一条为偶数。约定 b 为偶数边,则存在唯一的正整数对 (m,n),使

a=m2−n2,b=2mn,c=m2+n2,

且

m>n>0,gcd(m,n)=1,m≢n(mod2).

反过来,每对满足这些条件的 (m,n) 都产生一个本原三数组。固定偶数边在第二个位置,是唯一性陈述的一部分;若不固定,交换两条直角边仍是同一个直角三角形。

任意非本原正整数三数组,都由一个本原三数组乘以唯一的正整数公因数得到。参数化本原对象,再恢复这个倍数,就覆盖全部正整数解。

直觉

从一个三数组逆向拆出两个平方 ​

若一个素数同时整除 a,b,由 c2=a2+b2 它也整除 c;其余两对同理。因此本原三数组的三个数实际上两两互素。

两条边不能都为偶数。若都为奇数,平方模4都是一,c2≡2(mod4),也不可能。于是取 a 奇、b 偶,c 也为奇数。将方程重排为

(b2)2=c+a2⋅c−a2.

右边两个因子是正整数。它们的共同因子必须整除两者的和 c 和差 a,因此互素。

根据整数唯一分解,互素正整数的乘积若为平方,它们各自都必须为平方:一个素因子只能出现在其中一边,它在总乘积中的偶数指数就是它在该边的指数。因此唯一存在正整数 m>n,使

c+a2=m2,c−a2=n2.

相加相减得 c=m2+n2,a=m2−n2,再由正数平方相等得 b=2mn。互素性传给 m,n;它们不能都为奇数,否则 c 为偶数。因此全部参数条件都从原三数组推出,且正平方根的唯一性证明了参数唯一。

正向公式为什么保留本原性 ​

恒等式

(m2−n2)2+(2mn)2=(m2+n2)2

保证勾股关系,但本原性还需条件。因 m,n 异奇偶,a,c 都为奇数。若素数 ℓ 同时整除 a,c,它是奇数,并整除

c+a=2m2,c−a=2n2.

消去二,得到 ℓ∣m,n,与互素条件矛盾。所以 gcd(a,c)=1,三数组本原。

这也说明两种条件分别做什么:互素性排除共同的奇素因子,异奇偶排除残留的共同因子二。它们不是为了让公式好看而附加的约定。

例子与边界

从答案恢复参数 ​

取 (a,b,c)=(253,204,325)。先核验 2532+2042=3252,然后计算

m2=325+2532=289,n2=325−2532=36.

所以 (m,n)=(17,6);两数互素且异奇偶,代回 2mn=204。三数组、参数条件与逆向恢复都被同一份整数证书检查。

若输入两条边的次序是 (204,253,325),应先把偶数边放到第二个位置。否则直接代入 (c+a)/2 会遇到半整数,那是约定没有满足,不是平方根算法出错。

去掉一个条件会发生什么 ​

m=3,n=1 虽然互素,但同为奇数,产生 (8,6,10),共同因子为二。m=4,n=2 连互素性也不满足,产生 (12,16,20),共同因子为四。

m=n 产生零边,n=0 也产生零边,因此都不在正整数三数组范围内。允许负参数会重复产生符号变体;本页用 m>n>0 避免这类重复。

本原三数组的斜边必须为奇数,但“斜边为奇数”本身不充分。例如 (9,12,15) 的斜边为奇数,三数却都有公因子三。若要验证本原性,仍须真正检查GCD或合法参数条件。

推论与应用

列尽斜边325的本原答案 ​

固定 c=325,问题转成寻找 325=m2+n2 的本原表示。两平方和计数已经证明全部正无序表示为

(1,18),(6,17),(10,15).

最后一对不互素,排除。把前两对按 m>n 排好,得到恰好两个本原三数组:

(323,36,325),(253,204,325).

第三对参数 (15,10) 会产生 (125,300,325),它是 (5,12,13) 的25倍,不应混入本原列表。这里的“恰好”同时用到了表示计数的穷尽性和本页参数对应的唯一性。

高斯平方解释两个坐标为何这样组合 ​

在高斯整数中直接平方:

(m+ni)2=(m2−n2)+2mni=a+bi.

取范数得到 a2+b2=(m2+n2)2。这条计算很好地解释了公式的形状,但它单独并未证明每个本原三数组都来自高斯平方;覆盖全部答案的理由仍是前面的逆向分解证明。

归一化后得到圆的全部有理点 ​

把勾股关系除以 c2,得到单位圆上的有理点 (X,Y)=(a/c,b/c)。令 t=n/m,参数公式变成

X=1−t21+t2,Y=2t1+t2.

对任意有理数 t,分母 1+t2 非零,代入即可核验 X2+Y2=1。反过来,圆上任何不等于 (−1,0) 的有理点都有有理数

t=Y1+X.

利用 Y2=1−X2 化简,就能恢复上面的两个坐标公式。因此有理参数覆盖除 (−1,0) 外的全部有理点,那个例外需要单独加入,不能被某个有限有理参数表示。

勾股参数与圆点的正反接口

几何上,t 是连接 (−1,0) 与目标点的直线斜率。这个逆映射使“用直线生成圆上的点”成为一个无遗漏的对应,而不仅是一种画图技巧。

参考资料
  • Keith Conrad,Pythagorean Triples,Theorem 1.2,§2的整数分解证明与§3的圆上直线证明。本文固定偶数边的位置,并用斜边325验证正反两个接口。
  • Euclid,Elements, Book X, Proposition 29, Lemma,David E. Joyce在线版:勾股三数组生成的古典几何背景。现代“全部本原解及唯一参数”的条件与证明以上文为准。
关系图谱6 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系