扩展中国剩余定理(EXCRT)

扩展中国剩余定理

前置知识:线性同余方程合并

假设我们要合并以下两个方程:

\[\begin{cases} x \equiv a \pmod{m} \\ x \equiv b \pmod{n} \end{cases} \]

第一步:将方程转化为线性形式

从第一个方程 \(x \equiv a \pmod{m}\) 可知:

\[x = a + m \cdot k \quad (k \in \mathbb{Z}) \]

将这个表达式代入第二个方程 \(x \equiv b \pmod{n}\)

\[a + m \cdot k \equiv b \pmod{n} \]

第二步:整理成标准线性同余方程

将上述等式重新排列:

\[m \cdot k \equiv (b - a) \pmod{n} \]

现在,我们得到了一个关于 \(k\) 的线性同余方程:

\[m \cdot k \equiv (b - a) \pmod{n} \]

第三步:判断解是否存在

计算最大公约数:\(d = \gcd(m, n)\)

有解的条件:当且仅当 \(d \mid (b - a)\)(即 \(d\) 能整除 \(b - a\)

如果 \(d \nmid (b - a)\),则方程组无解

第四步:求解线性同余方程(如果有解)

如果 \(d \mid (b - a)\),对方程两边同时除以 \(d\)

\[\frac{m}{d} \cdot k \equiv \frac{b - a}{d} \pmod{\frac{n}{d}} \]

令:

  • \(m' = \frac{m}{d}\)
  • \(n' = \frac{n}{d}\)
  • \(b' = \frac{b - a}{d}\)

方程变为:

\[m' \cdot k \equiv b' \pmod{n'} \]

由于 \(\gcd(m', n') = 1\),这个方程有唯一解模 \(n'\)

第五步:求特解 \(k_0\)

使用扩展欧几里得算法求解:

\[m' \cdot k \equiv 1 \pmod{n'} \]

得到一个特解 \(k_0\),使得:

\[m' \cdot k_0 \equiv 1 \pmod{n'} \]

那么原方程的特解为:

\[k_0' = k_0 \cdot b' \]

第六步:写出通解形式

\(k\) 的通解为:

\[k = k_0' + t \cdot n' \quad (t \in \mathbb{Z}) \]

第七步:代回原式求 \(x\)

\(k\) 的通解代入 \(x = a + m \cdot k\)

\[x = a + m \cdot (k_0' + t \cdot n') \]

\[x = (a + m \cdot k_0') + t \cdot (m \cdot n') \]

注意:\(m \cdot n' = m \cdot \frac{n}{d} = \frac{m \cdot n}{\gcd(m, n)} = \text{lcm}(m, n)\)

第八步:得到合并后的方程

最终合并结果为:

\[x \equiv (a + m \cdot k_0') \pmod{\text{lcm}(m, n)} \]

中国剩余定理

\[\begin{cases} x &\equiv a_1 \pmod {m_1} \\ x &\equiv a_2 \pmod {m_2} \\ &\vdots \\ x &\equiv a_n \pmod {m_n} \\ \end{cases} \]

对于这样一组同余方程,中国人欧拉在所有 \(m\) 都互质的条件下找到了一个通解。

设 $ m = \prod_{i = 1}^{n} m_i,M_i = m / m_i,t_i \(为\) M_i $ 模 $ m_i $ 的逆元,则有:

\[x = \sum_{i = 1}^{n} a_i M_i t_i \pmod{m} \]

ps:\(a_iM_it_i\)相乘时不取模。

这十分好证明。
对于每一个 \(a_i M_i t_i\) 只会对第 \(i\) 个方程有贡献,因为对于别的方程(假设对于第 \(j\) 个方程),\(a_i M_i t_i \equiv 1 \pmod{m_j}\),因为 \(t_i\) 中包含了 \(a_i M_i\)\(m_j\) 的逆元。

接下来扩展到每个 \(m_i\) 不一定互质的情况。

ps:不一定有解。

核心思想:逐步合并方程

扩展中国剩余定理的算法核心是:将两个同余方程合并成一个,然后一步步合并,直到只剩下一个方程

如果中途有无法合并的情况,那就判断成无解。

最后剩下的方程的解就是原方程解。

posted @ 2025-08-28 15:17  ACehomoxue  阅读(39)  评论(0)    收藏  举报