裴蜀定理揭示了最大公约数与整数线性组合之间的深刻联系,是数论中最基础也最重要的结论之一。基于此,本文进一步讨论了一次不定方程的求解方法。

裴蜀定理

裴蜀定理(Bézout’s lemma),也译作贝祖定理,或称作贝祖等式(Bézout’s identity),给出了一个整数能够表示为两个整数的整系数线性组合的充分必要条件。

裴蜀定理

是不全为零的整数。那么,对于任意整数 ,都有 成立;而且,存在整数 ,使得 成立。

此处,关于存在性的证明是构造性的,它同时给出了该系数的一种计算方法。这一计算方法就是 扩展欧几里得算法

考虑裴蜀定理在 时的特殊情形,可以得到如下推论:

推论

整数 互素,当且仅当存在整数 ,使得 成立。

多个整数的情形

裴蜀定理可以推广到多个整数的情形。

定理

是不全为零的整数。那么,对于任意整数 ,都有 成立;而且,存在整数 ,使得 成立。

例题

给出 张卡片,分别有 。在一条无限长的纸带上,你可以选择花 的钱来购买卡片 ,从此以后可以向左或向右跳 个单位任意次。问你至少花多少元钱才能够跳到纸带上全部位置。若不行,输出

一次不定方程

一次不定方程(linear Diophantine equation)是形如

的不定方程,其中, 都是整数。本节的目标是寻找它的全体整数解。

两个变量的情形

首先考虑二元一次不定方程:

裴蜀定理指出,该方程有解,当且仅当

接下来,假设这一条件成立。利用扩展欧几里得算法可以求出方程 的一组整数解 。由此,可以得到原方程的一组特解

要得到全部解,可以考虑将原方程与恒等式 相减,就有

这是一个关于 的齐次一次不定方程,它有通解

因此,原方程的通解就是

这是直线 上一系列等间隔分布的整点。

多个变量的情形

解决了二元的情形,多元的情形也就容易解决了。对于 元一次不定方程

由裴蜀定理可知,方程有解当且仅当

和二元的情形类似,多元一次不定方程的通解同样可以写作

的形式,其中, 为一个特解, 为相应的齐次方程的 个解。

要求出通解的具体形式,可以通过将 元方程转化为 元方程来完成。不妨设 ,那么,根据裴蜀定理, 的全体恰为 的所有倍数。因此,可以首先求解 元一次不定方程:

设得到的它的通解为

的一组特解为 ,那么,根据前一节的讨论可知,关于 的二元一次不定方程 的通解就是

代入 的表达式,就得到原方程的通解

Frobenius 硬币问题

裴蜀定理给出了一个整数可以由若干个整数线性表出的充分必要条件。与此紧密相关的是 Frobenius 硬币问题(Frobenius coin problem):

  • 如果硬币共有 等若干种整数面值,且 ,那么,不能够由这些硬币组成的最大整数是多少?

同样是在考察整数 什么时候可以表示为 的形式,裴蜀定理中 可以是任意整数,而 Frobenius 硬币问题中 只能是自然数。

只有一种硬币的情形是平凡的,因为只能有 ,所有自然数都可以由它表示。而 的情形又太过复杂,所以,本节仅讨论 的情形。

Sylvester 定理

在 1882 年,Sylvester 完全解决了 时的 Frobenius 硬币问题:

定理(Sylvester)

对于互素的正整数 ,不能够写作 的最大整数是 。而且,对于所有 ,整数 中有且只有一个可以写作该形式。

为表述方便,称可以写作 形式的整数为 可表示的

几何意义

将方程 看作是一条直线。那么, 可表示,当且仅当这条直线在第一象限(包括坐标轴)内通过一个整点。当 时,这条直线在第一象限至多只能通过一个整点。因此,对于 ,整数 可以表示,当且仅当 在第一象限通过恰好一个整点。

因此,小于等于 且可以表示的自然数的数量,恰好等于第一象限内直线 下的整点个数(包含边界上的点)。这一数量就等于

这是经典的直线下整点问题,可以用 类欧几里得算法 时间求解。

习题