中国剩余定理
好的,我们先来明确什么是“中国剩余定理”。它的核心思想是:求解一个由多个同余方程构成的同余方程组,并且这些同余方程的模数两两互质时,方程组存在唯一的解(在模这些模数的乘积下)。它是数论和抽象代数中的一个基本而强大的工具,应用极其广泛。
下面,我将从一个最直观的例子开始,一步步深入到其一般形式和本质。
第一步:一个具体问题与试探解法
假设我们面临这样一个问题:
- 一个数除以3余2,
- 除以5余3,
- 除以7余2。
问:这个数最小是多少?
用数学语言,这就是同余方程组:
\[\begin{cases} x \equiv 2 \pmod{3} \\ x \equiv 3 \pmod{5} \\ x \equiv 2 \pmod{7} \end{cases} \]
模数3, 5, 7两两互质。
尝试构造解:
我们可以这样思考:
- 找一个数,它是5和7的公倍数,且模3余1。因为5×7=35,35除以3余2,不符合“余1”。我们需要找到35的某个倍数,使其模3余1。35模3余2,那么2的多少倍模3余1?2×2=4,4除以3余1。所以,35×2=70满足“是5和7的公倍数,且模3余1”。
- 同理,找一个数是3和7的公倍数(21),且模5余1。21模5余1,刚好满足,所以这个数就是21。
- 再找一个数是3和5的公倍数(15),且模7余1。15模7余1,也刚好满足,所以这个数是15。
现在,我们把“要求余数”的项配上去:
- 对于第一个方程(余2),我们有一个“基”70,它本身模3余1。要得到余2,就用2×70。
- 对于第二个方程(余3),用基21乘以3,即3×21。
- 对于第三个方程(余2),用基15乘以2,即2×15。
然后把它们加起来:
\[x_0 = 2 \times 70 + 3 \times 21 + 2 \times 15 = 140 + 63 + 30 = 233 \]
验证:233除以3余2,除以5余3,除以7余2,确实满足。
但这显然不是最小正整数解。因为3, 5, 7的最小公倍数是105,所以通解是 \(x \equiv 233 \equiv 23 \pmod{105}\)。最小的正整数解是23。
这个构造过程,就是中国剩余定理的“构造性证明”的核心思想。
第二步:抽象成一般定理
现在我们把这个特例推广到一般形式。
定理(中国剩余定理):
设 \(m_1, m_2, \dots, m_k\) 是两两互质的正整数(即对任意 \(i \neq j\),有 \(\gcd(m_i, m_j) = 1\))。
那么对于任意整数 \(a_1, a_2, \dots, a_k\),同余方程组
\[\begin{cases} x \equiv a_1 \pmod{m_1} \\ x \equiv a_2 \pmod{m_2} \\ \vdots \\ x \equiv a_k \pmod{m_k} \end{cases} \]
在模 \(M = m_1 m_2 \dots m_k\) 下有唯一解。也就是说,存在一个整数 \(x\),满足所有同余方程,并且任何两个解在模 \(M\) 下同余。
解读:
- 存在性:就像我们例子中做的,可以显式构造出一个解。
- 唯一性:这里的“唯一”是指“在模M的意义下唯一”。即如果 \(x\) 和 \(y\) 都满足方程组,那么 \(M\) 整除 \(x-y\)。所以解构成一个模M的同余类。
第三步:构造性证明与求解算法
这不仅是证明,也是一个通用算法。
- 计算总模:\(M = m_1 m_2 \dots m_k\)。
- 计算部分积:对每个 \(i\),令 \(M_i = M / m_i\)。因为模数两两互质,所以 \(M_i\) 和 \(m_i\) 互质,即 \(\gcd(M_i, m_i) = 1\)。
- 求逆元:对每个 \(i\),求整数 \(t_i\),使得 \(M_i t_i \equiv 1 \pmod{m_i}\)。由于 \(M_i\) 与 \(m_i\) 互质,这个逆元 \(t_i\) 一定存在(可以用扩展欧几里得算法求出)。这个 \(t_i\) 就是 \(M_i\) 模 \(m_i\) 的乘法逆元。
- 构造解:令
\[ x_0 = a_1 M_1 t_1 + a_2 M_2 t_2 + \dots + a_k M_k t_k \]
- 得到唯一解:方程组在模 \(M\) 下的唯一解就是 \(x \equiv x_0 \pmod{M}\)。
验证:为什么这个构造可行?
观察和式中的每一项,比如第 \(i\) 项 \(a_i M_i t_i\)。因为当 \(j \neq i\) 时,\(M_j\) 是 \(m_i\) 的倍数,所以 \(a_j M_j t_j \equiv 0 \pmod{m_i}\)。而第 \(i\) 项中,由于 \(M_i t_i \equiv 1 \pmod{m_i}\),所以 \(a_i M_i t_i \equiv a_i \pmod{m_i}\)。因此,整个和 \(x_0\) 模 \(m_i\) 恰好余 \(a_i\)。
第四步:更本质的观点——环的同构
这是中国剩余定理在现代代数中的核心表述,它揭示了解的结构。
将整数环 \(\mathbb{Z}\) 模 \(M\) 得到的环记作 \(\mathbb{Z}/M\mathbb{Z}\)。
将每个模 \(m_i\) 的剩余类环记作 \(\mathbb{Z}/m_i\mathbb{Z}\)。
定理(环论版中国剩余定理):
若 \(m_1, m_2, \dots, m_k\) 两两互质,且 \(M = \prod m_i\),则有环同构:
\[\mathbb{Z}/M\mathbb{Z} \cong \mathbb{Z}/m_1\mathbb{Z} \times \mathbb{Z}/m_2\mathbb{Z} \times \dots \times \mathbb{Z}/m_k\mathbb{Z} \]
这个同构映射 \(\phi\) 定义为:
\[\phi(x \bmod M) = (x \bmod m_1, x \bmod m_2, \dots, x \bmod m_k) \]
这意味着什么?
- 一一对应:模 \(M\) 的一个剩余类,完全由它在模各个 \(m_i\) 下的余数所决定,并且这种对应是“运算保持”的(加法和乘法都能对应过去)。
- 原定理的必然性:给定右边的任意一个“余数组” \((a_1, a_2, \dots, a_k)\),由于 \(\phi\) 是双射,必然在左边存在唯一的一个 \(x \mod M\) 与之对应。这就是解的存在唯一性。
- 威力巨大:这个同构允许我们把对“大模数 \(M\)”的计算,分解为对多个“小模数 \(m_i\)”的并行计算,这在计算机代数和大整数运算中至关重要。
第五步:一个简单应用示例
问题:求一个数,它除以4余1,除以5余2,除以9余3。
- 模数4, 5, 9两两互质。\(M = 4\times5\times9 = 180\)。
- \(M_1 = 180/4 = 45\), \(M_2 = 180/5 = 36\), \(M_3 = 180/9 = 20\)。
- 求逆元:
- 解 \(45 t_1 \equiv 1 \pmod{4}\),即 \(1 \cdot t_1 \equiv 1 \pmod{4}\),得 \(t_1 = 1\)。
- 解 \(36 t_2 \equiv 1 \pmod{5}\),即 \(1 \cdot t_2 \equiv 1 \pmod{5}\),得 \(t_2 = 1\)。
- 解 \(20 t_3 \equiv 1 \pmod{9}\),即 \(2 t_3 \equiv 1 \pmod{9}\),得 \(t_3 = 5\)(因为 2×5=10≡1 mod 9)。
- 构造解:
\[ x_0 = 1 \times 45 \times 1 + 2 \times 36 \times 1 + 3 \times 20 \times 5 = 45 + 72 + 300 = 417 \]
- 最小正整数解:\(417 \mod 180 = 57\)。验证:57除以4余1,除以5余2,除以9余3。正确。
第六步:非互质模数的情况
重要限制:中国剩余定理要求模数两两互质。如果模数不互质,方程组不一定有解。
例如:方程组
\[\begin{cases} x \equiv 1 \pmod{4} \\ x \equiv 3 \pmod{6} \end{cases} \]
第一个方程要求 \(x\) 是奇数,第二个方程要求 \(x\) 是3 mod 6,即奇数。看似不矛盾?检查:假设有解 \(x\),则存在整数 \(s, t\) 使 \(x = 4s+1 = 6t+3\),即 \(4s - 6t = 2\),化简为 \(2s - 3t = 1\)。这个方程有整数解(如 s=2, t=1)。所以解是存在的,\(x=9\)就是一个解。但解不唯一模 \(\text{lcm}(4,6)=12\),因为 \(x=9\) 和 \(x=21\) 都满足,但 21-9=12。实际上,当模数不互质时,有解的充要条件是:对任意 \(i, j\),有 \(a_i \equiv a_j \pmod{\gcd(m_i, m_j)}\)。并且如果解存在,则解在模所有 \(m_i\) 的最小公倍数下唯一。
总结
中国剩余定理的核心脉络是:
- 从具体问题出发,理解如何“拼凑”出一个满足多个同余条件的数。
- 抽象为一般定理:在模数两两互质的前提下,解一定存在且在模乘积下唯一。
- 掌握构造性算法:通过计算部分积和模逆元,可以机械地求出解。
- 上升到代数本质:理解定理背后是整数环的直积分解同构,这提供了强大的理论工具和应用视角。
- 注意适用范围:两两互质是关键前提,否则需要检查相容性条件。
这个定理之所以基础且重要,是因为它将“大模数”的问题分解为若干“小模数”的并行问题,是许多数论算法、密码学(如RSA解密、秘密共享)和编码理论的基石。