模与同余
定义
模:设 \(a\) 为整数,\(n\) 为正整数,定义
这与 C++ 中的取模运算符的行为一致。
同余:若,\((a - b) \bmod n = 0\),则称 \(a\) 与 \(b\) 在模 \(n\) 的意义下同余,记作
\(a \equiv b \pmod n \Leftrightarrow (a - b) \bmod n = 0 \Leftrightarrow n | (a - b)\)
\(a,b\) 均为正整数时,此式等价于 \(a\bmod n = b\bmod n\)
无特别说明,以下与模、同余相关的数均是非负整数。
性质
性质 1
证明:
假设 \(a \bmod n \geq n\),则
为 \((1)\) 式。设 \(\frac{a}{n} = x + p, x \in N, p \in [0, 1)\)。则
,与 \(p \in [0, 1)\) 矛盾,故原命题成立。
根据性质 \(1\),对于 \(a \bmod n\) 可以设 \(a = k \cdot n + z, z < n\),则 \(z = a \bmod n, k = \lfloor\frac{a}{n}\rfloor\)
性质 2
证明:
则原命题得证。
性质 3
证明:
则原命题得证。
性质 4
证明:
\(a \equiv b \pmod n \Leftrightarrow n | (a - b)\)
\(c \equiv d \pmod n \Leftrightarrow n | (c - d)\)
\((a \pm c) \equiv (b \pm d) \pmod n \Leftrightarrow n | (a \pm c - (b \pm d))\)
\(\because n | (a - b),n | (c - d)\)
\(\therefore n | ((a - b) \pm (c - d))\)
\(\therefore n | ((a \pm b) - (c \pm d))\)
\(\therefore (a \pm c) \equiv (b \pm d) \pmod n\)
则原命题得证。
性质 5
证明:
\(a \equiv b \pmod n \Leftrightarrow n | (a - b)\)
\(c \equiv d \pmod n \Leftrightarrow n | (c - d)\)
\(ac \equiv bd \pmod n \Leftrightarrow n | (ac - bd)\)
\(\because ac - bd = ac - bc + bc - bd = c(a - b) + b(c - d)\)
又 \(n | (a - b), n | (c - d)\)
\(\therefore n | (ac - bd)\)
即得 \(ac \equiv bd \pmod n\)
原命题得证。
性质 6
证明:
设 \(g=\gcd(c,n)\),则有 \(k_1, k_2 \in \mathbb{Z}\) 满足
\(
\begin{cases}
k_1 \cdot g = c \\
k_2 \cdot g = n
\end{cases}
\)
\(ac \equiv bc \pmod n \Leftrightarrow n | c(a-b)\),即 \(k_2g | k_1g(a - b)\)
则存在 \(q \in \mathbb{Z}\),满足 \(q \cdot k_2g = k_1g(a-b) \Rightarrow q \cdot k_2 = k_1(a-b)\),即 \(k_2|k_1(a - b)\)。
\(\because \gcd(k_1, k_2) = 1\)
\(\therefore k_2|(a-b)\)
即 \(\frac{n}{\gcd(c,n)}|(a-b)\)
\(\therefore a \equiv b \pmod{\frac{n}{\gcd(n, c)}}\)
原命题得证。
性质 7
证明:
\(a \equiv b \pmod n \Leftrightarrow n | (a - b)\)
\(a^k - b^k = (a - b) \sum\limits_{i=1}^{k}{a^{k-i}b^{i-1}}\)
则 \(n | (a^k - b^k)\),即 \(a^k \equiv b^k \pmod n\)
原命题得证。
性质 8
证明:
则原命题得证。
性质 9
证明:
则原命题得证。
性质 10
证明:
\(a = k \cdot n + z, z < n\),则 \(z = a \bmod n\)。
即 \(a\bmod n < \frac{a}{2}\),原命题得证。
性质 11
证明:
充分性:
\(a \equiv b \pmod {m_1} \Leftrightarrow m_1|(a - b)\)
\(a \equiv b \pmod {m_2} \Leftrightarrow m_2|(a - b)\)
将 \(a - b\) 唯一分解后,肯定有一部分质数乘积等于 \(m_1\),一部分质数乘积等于 \(m_2\),\(a-b\) 一定含有这两部分的质因数,\(\text{lcm}(m_1,m_2)\) 是这两部分质数的交集,则一定有 \(\text{lcm}(m_1,m_2)|(a-b)\),即 \(a \equiv b \pmod {\text{lcm}(m_1,m_2)}\)
必要性:
\(a \equiv b \pmod {\text{lcm}(m_1,m_2)} \Leftrightarrow \text{lcm}(m_1,m_2)|(a - b)\)
一定有 \(m_1|\text{lcm}(m_1,m_2),m_2|\text{lcm}(m_1,m_2)\),则有 \(m_1|(a-b), m_2|(a-b)\),即 \(a \equiv b \pmod {m_1}, a \equiv b \pmod {m_2}\)
综上,原命题得证。
同余类与剩余系
\(\forall a \in [0, m - 1] \cap \mathbb{Z}\),集合 \(\{a + km | k \in \mathbb{Z}\}\) 为一个模 \(m\) 的同余类,记作 \(\overline{a}\)
模 \(m\) 的同余类共有 \(m\) 个,分别为 \(\overline{0}, \overline{1}, \overline{2}, \cdots, \overline{m - 1}\)。它们构成 \(m\) 的完全剩余系。
\(1 \sim m\) 中与 \(m\) 互质的数代表的同余类共有 \(\varphi(m)\) 个,他们构成 \(m\) 的简化剩余系。
性质:\(m\) 的简化剩余系关于乘法封闭。
证明:
设 \(a, b\) 在 \(m\) 的简化剩余系中,则 \(\gcd(a,m) = \gcd(b, m) = 1\),则 \(\gcd(ab, m) = 1\),所以 \(ab\) 在 \(m\) 的简化剩余系中,故原原命题得证。
欧拉定理
证明:
设 \(n\) 的简化剩余系为 \(\overline{k_1}, \overline{k_2}, \overline{k_3}, \cdots, \overline{k_{\varphi(n)}}\)
对于 \(i \neq j\),有 \(k_i \not\equiv k_j \pmod n\),则 \(ak_i \not\equiv ak_j \pmod n\),也就是 \(k_i \neq k_j\) 时,\(ak_i, ak_j\) 代表不同的剩余系。则 \(\overline{ak_1 \bmod n}, \overline{ak_2 \bmod n}, \overline{ak_3 \bmod n}, \cdots, \overline{ak_{\varphi(n)} \bmod n}\) 也是 \(n\) 的简化剩余系。
则 \(\prod\limits^{\varphi(n)}_{i=1}k_i \equiv \prod\limits^{\varphi(n)}_{i=1}ak_i \equiv a^{\varphi(n)}\prod\limits^{\varphi(n)}_{i=1}k_i \pmod n\)
因为完全剩余系当中所有的数都与 \(n\) 互质,即得 \(\gcd(\prod\limits^{\varphi(n)}_{i=1}k_i, n) = 1\),则可以消去 \(\prod\limits^{\varphi(n)}_{i=1}k_i\),即得 \(a^\varphi(n) \equiv 1 \pmod n\)。
原命题得证。
推论 1
证明:
反证法。若 \(x \nmid \varphi(n)\)。设 \(\varphi(n) = kx + z\),其中 \(0 < z < x\)。因为 \(a^x \equiv 1 \pmod n\),所以存在 \(a\) 的逆元 \(a^{x-1}\),则 \(\gcd(a, n) = 1\)。
根据欧拉定理,有
\( \begin{aligned} a^{\varphi(n)} &\equiv 1 &\pmod n \\ a^{\varphi(n)} &\equiv a^x &\pmod n \\ a^{kx+z} &\equiv a^x &\pmod n \\ a^{kx+z} &\equiv (a^x)^k &\pmod n \\ a^{kx+z} &\equiv a^{kx} &\pmod n \\ a^z &\equiv 1 &\pmod {\frac{n}{\gcd(a^{kx}, n)}} \\ \end{aligned} \)
因为 \(\gcd(a, n) = 1\), 所以 \(\gcd(a^{kx}, n) = 1\),则 \(a^z \equiv 1 \pmod n\)。因为 \(0 < z < x\),与 \(x\) 是满足 \(a^x \equiv 1 \pmod n\) 最小的正整数矛盾,故原命题成立。
推论 2 降幂公式
证明:
设 \(b = k \varphi(n) + z,0 \leq z < \varphi(n)\),即 \(z = b\bmod \varphi(n)\)。
\(a^b \equiv a^{k \varphi(n) + z}\equiv (a^{\varphi(n)})^k a^z \equiv 1^k a^z \equiv a^z \equiv a^{b\bmod \varphi(n)} \pmod n\)
原命题得证。
扩展欧拉定理
引理 \(1\) :
证明:
设 \(x \in\mathbb{P},f(x) = \varphi(x^k) - k = x^k-x^{k-1}-k\)
\( \begin{aligned} & f'(x) \\ &= kx^{k-1} - (k - 1)x^{k-1} \\ &= kx^{k-1} - kx^{k-2} + x^{k-2} \\ &= kx^{k-2}(x-1) + x^{k-2} \\ \end{aligned} \)
取 \(x = \min\{\mathbb{P}\} = 2\),有 \(x - 1 > 0\),则 \(f'(x) > 0\)
\(f(2) = 2^k - 2^{k-1} - k = 2^{k-1} - k\)
设 \(x \in\mathbb{N}_+,g(x) = 2^{x-1} - x\)
\(g'(x) = (k-1)2^{k-1}\),取 \(x = \min\{\mathbb{N}_+\} = 1\),有 \(k - 1 = 0\),则 \(g'(x) \geq 0\)
\(g(1) = 0, g(2) = 0, g(3) = 1\),则 \(\forall x \geq 3,g(x) > 0\)
因为 \(f'(x) > 0\),且在 \(x = \min\{\mathbb{P}\} = 2\) 有 \(f(x) = 0\)
所以,当 \(x > 2\) 时,\(f(x)>0\),即 \(\varphi(p^k)>k\)
仅当 \(p = 2\) 时,有 \(f(p) = 0\),即有 \(g(k) = 0\)。且仅当 \(k = 1, k = 2\) 时 \(g(k) = 0\),即 \(f(p) = 0\),即 \(\varphi(p^k) = k\)
综上,引理 \(1\) 得证。
扩展欧拉定理证明:
对于 \(\gcd(a,n) = 1\),即为降幂公式。
对于 \(\gcd(a, n) \neq 1, b < \varphi(n)\),显然成立。
对于 \(\gcd(a, n) \neq 1, b \geq \varphi(n)\):
将 \(n\) 唯一分解,\(n = \prod\limits^m_{i=1}{p_i^{c_i}}\),根据模与同余的性质 \(10\),只需证对于所有的 \(i\),都满足 \(a^b \equiv a^{b \bmod \varphi(n) + \varphi(n)} \pmod {p_i^{c_i}}\),即可证 \(a^b \equiv a^{b \bmod \varphi(n) + \varphi(n)} \pmod n\)
对于每一个 \(i\) :
若 \(\gcd(a, p_i^{c_i}) = 1\) :
根据欧拉定理,有 \(a^{\varphi(p_i^{c_i})} \equiv 1 \pmod {p_i^{c_i}}\)。因为 \(\varphi\) 是积性函数,则有 \(w\),满足 \(\varphi(n) = w \varphi(p_i^{c_i})\),则 \(1 \equiv a^{\varphi(p_i^{c_i})} \equiv (a^{\varphi(p_i^{c_i})})^w \equiv a^{w\varphi(p_i^{c_i})} \equiv a^{\varphi(n)} \pmod {p_i^{c_i}}\)
根据取模的定义,有 \(b = \lfloor\frac{b}{\varphi(n)}\rfloor\varphi(n) + b \bmod \varphi(n)\),则
\( \begin{aligned} & a^b \\ & \equiv a^{\lfloor\frac{b}{\varphi(n)}\rfloor\varphi(n) + b \bmod \varphi(n)} \\ & \equiv a^{\lfloor\frac{b}{\varphi(n)}\rfloor\varphi(n)} \cdot a^{b \bmod \varphi(n)} \\ & \equiv (a^{\varphi(n)})^{\lfloor\frac{b}{\varphi(n)}\rfloor} \cdot a^{b \bmod \varphi(n)} \\ & \equiv 1^{\lfloor\frac{b}{\varphi(n)}\rfloor} \cdot a^{b \bmod \varphi(n)} \\ & \equiv 1 \cdot a^{b \bmod \varphi(n)} \\ & \equiv a^{\varphi(n)} \cdot a^{b \bmod \varphi(n)} \\ & \equiv a^{b \bmod \varphi(n) + \varphi(n)} \\ & \pmod {p_i^{c_i}} \end{aligned} \)
若 \(\gcd(a, p_i^{c_i}) \neq 1\) :
因为 \(p_i\) 是质数,则一定有 \(p_i|a\),即一定有 \(k \in \mathbb{N}_+\) 满足 \(a = kp_i\)
根据条件 \(b \geq \varphi(n)\)、\(\varphi\) 是积性函数、引理 \(1\),可得 \(b \geq \varphi(n) \geq \varphi(p_i^{c_i}) \geq c_i\)
\(a^b = (kp_i)^b=k^bp_i^b=k^bp_i^{b - c_i}p_i^{c_i}\),则 \(p_i^{c_i} | a^b\),则 \(a^b \equiv 0 \pmod {p_i^{c_i}}\)
\( \begin{aligned} & a^{b \bmod \varphi(n) + \varphi(n)} \\ &= a^{b \bmod \varphi(n) + \varphi(n) - c_i} \cdot a^{c_i} \\ &= a^{b \bmod \varphi(n) + \varphi(n) - c_i} \cdot (kp_i)^{c_i} \\ &= a^{b \bmod \varphi(n) + \varphi(n) - c_i} \cdot k^{c_i}p_i^{c_i} \\ \end{aligned} \)
则 \(p_i^{c_i}|a^{b \bmod \varphi(n) + \varphi(n)}\),则 \(a^{b \bmod \varphi(n) + \varphi(n)} \equiv 0 \pmod {p_i^{c_i}}\)。则 \(a^b \equiv a^{b \bmod \varphi(n) + \varphi(n)} \equiv 0 \pmod {p_i^{c_i}}\)
综合 \(\gcd(a, p_i^{c_i}) = 1\) 和 \(\gcd(a, p_i^{c_i}) \neq 1\),有 \(a^b \equiv a^{b \bmod \varphi(n) + \varphi(n)} \pmod {p_i^{c_i}}\)
综上,原命题得证。
费马小定理
证明:
若 \(\gcd(a, p) = 1\),根据欧拉定理有 \(a^{\varphi(p)} \equiv 1 \pmod p \Rightarrow a^{p-1} \equiv 1 \pmod p \Rightarrow a^p \equiv a \pmod p\)
若 \(\gcd(a, p) \neq 1\),因为 \(p \in \mathbb{P}\),则 \(p|a\),则 \(a \in \mathbb{N},则 a^p \equiv a \equiv 0 \pmod p\)
综上,原命题得证。
威尔逊定理 Willson
证明:
I. \(p\notin\mathbb{P},p\neq4\)
a. \(\exists n\in\mathbb{N_+},p=n^2\)
-
\(p=1\)
\((p-1)! \equiv (1-1)! \equiv 1 \equiv 0 \pmod 1\)
-
\(n>2\)
\(n>2 \Rightarrow n-2>0 \Rightarrow n^2-2n>0 \Rightarrow p - 2n > 0 \Rightarrow p > 2n\)
\((p-1)! \equiv 1 \times 2 \times 3 \times \cdots \times n \times \cdots \times 2n \times \cdots \times (p-1) \equiv an^2 \equiv ap \equiv 0 \pmod p\)
b. \(\forall n\in\mathbb{N_+},p\neq n^2\)
\(p\) 一定存在 两个不同的因子 \(d_1, d_2 \in[2,p-1]\cap\mathbb{Z}\) 满足 \(d_1 \cdot d_2 = p\),则 \((p-1)! \equiv 1 \times 2 \times 3 \times \cdots \times d_1 \times \cdots \times d_2 \times \cdots \times (p-1) \equiv ad_1d_2 \equiv ap \equiv 0 \pmod p\)
II. \(p\in\mathbb{P}\)
考虑方程 \(x^2\equiv 1\pmod p\)
\(\begin{aligned} x^2\equiv 1 \pmod p \\ x^2 - 1 \equiv 0 \pmod p \\ (x-1)(x+1) \equiv 0 \pmod p \end{aligned}\)
得 \(x=1\pmod p\) 或 \(x=-1=p-1\pmod p\)。
又因为模意义下乘法的逆元唯一,则 \(2,3,4,\dots,p-2\) 两两在相乘 \(\bmod p\) 等于 \(1\)。
则 \((p-1)!\equiv 1 \cdot (p-1) \cdot \prod\limits_{i=2}^{p-2}i \equiv (p-1) \cdot 1 \equiv p - 1 \equiv -1 \pmod p\)
模意义下乘法的逆元
定义
设 \(a \in Z, n \in N_+\),若整数 \(b\),满足
则称 \(b\) 为 \(a\) 模 \(n\) 的逆元,记 \(b = a^{-1}\)
性质
性质 1
证明:
反证法。假设 \(\gcd(a, n) = g > 1\),存在 \(a^{-1}\) 满足 \(aa^{-1}\equiv 1 \pmod n\),则有 \(k_1, k_2\) 满足
\(
\begin{cases}
k_1 \cdot g = a \\
k_2 \cdot g = n
\end{cases}
\)
\( aa^{-1} \bmod n = k_1ga^{-1} \bmod k_2g = k_1ga^{-1} - \lfloor \frac{k_1ga^{-1}}{k_2g} \rfloor k_2g = g(k_1a^{-1} - \lfloor \frac{k_1a^{-1}}{k_2} \rfloor k_2) \)
因为 \(g > 1\),所以 \(g(k_1a^{-1} - \lfloor \frac{k_1a^{-1}}{k_2} \rfloor k_2) \neq 1\),即 \(aa^{-1} \bmod n \neq 1\),与 \(aa^{-1}\equiv 1 \pmod n\) 矛盾,故原命题成立。
性质 2
证明:
设 \(a_1^{-1},a_2^{-1}\) 满足
\(
\begin{cases}
aa_1^{-1} \equiv 1 \pmod n \\
aa_2^{-1} \equiv 1 \pmod n
\end{cases}
\)
则 \(aa_1^{-1} \equiv aa_2^{-1} \pmod n\),根据模的性质 \(6\) 得 \(a_1^{-1} \equiv a^{-1} \pmod {\frac{n}{gcd(a,n)}}\),根据同余的性质 \(1\),得 \(\gcd(a, n) = 1\),则 \(a_1^{-1} \equiv a^{-1} \pmod n\),原命题得证。
求法
给定 \(a > n\),求 \(aa^{-1}\equiv 1 \pmod n\),中的 \(a^{-1}\)
若 \(n \in \mathbb{P}, \gcd(a,n) = 1\),利用费马小定理,则 \(a^{n-1} \equiv 1 \pmod n \Rightarrow aa^{n-2} \equiv 1 \pmod n\),\(a^{n-2}\) 即为 \(a^{-1}\)。
求 \(1 \sim n\) 模 \(p\) 意义下的逆元,其中 \(p \in P\)
方法一
对于 \(i \in [1, n] \cap \mathbb{Z}\)
\(\frac{\lfloor\frac{p}{i}\rfloor}{p \bmod i}\) 即为 \(i\) 在模 \(p\) 意义下的逆元。枚举 \(i\),对于 \(\lfloor\frac{p}{i}\rfloor\) 可以 \(O(1)\) 求出,对于 \(\frac{1}{p \bmod i} \bmod n\),以为 \(p \bmod i < i\) 所以在求 \(\frac{1}{i} \bmod n\) 之前一定求出来了,\(O(1)\) 调用即可。综上时间复杂度 \(O(n)\),空间复杂度 \(O(n)\)
void calc_inv() {
inv[1] = 1;
for(int i = 2; i <= n; i++)
inv[i] = (((-1ll * (p / i) % p) * inv[p % i]) % p + p) % p;
}
方法二
根据 \(\frac{1}{i!}=\frac{i+1}{(i+1)!}\),可以按以下方法求 \(1 \sim n\) 的逆元:
- 预处理 \(1 \sim i\) 的阶乘数组,时间复杂度 \(O(n)\)
- 计算 \(n!\) 的逆元,时间复杂度 \(O(\log p)\)
- 从 \(\frac{1}{n!}\) 利用 \(\frac{i}{i!} = \frac{1}{(i-1)!}\),计算出 \(1 \sim n\) 的阶乘的逆元,时间复杂度 \(O(n)\)
- 求出 \(1 \sim n\) 的逆元 \(\frac{1}{i} \equiv \frac{1}{i!} \cdot (i - 1)! \pmod n\),时间复杂度 \(O(n)\)
综上时间复杂度 \(O(3n + \log p) = O(n)\)
这种方法适合求排列数、组合数。
ll f[N]; // x!
ll g[N]; // (x!)^-1 mod m
ll h[N]; // x^-1
ll quick_pow(ll a, ll p, ll m) {
ll res = 1;
a %= m;
while(p)
{
if(p & 1)
res = (res * a) % p;
a = (a * a) % p;
p >>= 1;
}
return ans % m;
}
void calc(ll n, ll p) {
for(int i=1; i<=n; ++i)
f[i] = f[i - 1] * i % p;
g[n] = quick_pow(f[n], p - 2, p);
for(int i = n - 1; i >= 1; --i)
g[i] = g[i + 1] * (i + 1) % p;
for(int i = 1; i <= n; ++i)
h[i] = g[i] * f[i - 1] % p;
}
若乘法溢出,可以仿照快速幂,写龟速乘:
ll mul(ll a, ll b, ll m) {
ll res = 0;
while(b)
{
if(b & 1)
res = (res + a) % m;
a = (a + a) % m;
b >>= 1;
}
return res % m;
}
裴蜀定理
证明:
证法 \(1\) :
设 \(g=\gcd(a,b)\),则有 \(k_1,k_2\) 满足
\(
\begin{cases}
k_1g=a \\
k_2g=b
\end{cases}
\),\(\gcd(k_1,k_2)=1\)
\( \begin{aligned} ax+by&=g \\ k_1gx+k_2gy&=g \\ k_1x+k_2y&=1 \\ k_1x-1&=-y \cdot k_2 \\ \end{aligned} \)
\(\Leftrightarrow k_1x \equiv 1 \pmod {k_2}\),根据欧拉定理,取 \(x=k_1^{\varphi(k_2)-1}\),则 \(y\) 显然存在。
原命题得证。
证法 \(2\) :
若 \(b = 0\),显然有一组特解 \(x=1,y=0\)
若 \(b \neq 0\),则 \(\gcd(a,b) = \gcd(b, a \bmod b)\)。假设存在 \(x,y\) 满足 \(bx + (a \bmod b)y=\gcd(b,a\bmod b)\),则根据
\( \begin{aligned} & bx + (a \bmod b)y \\ &= bx+(a-\lfloor\frac{a}{b}\rfloor b)y \\ &= ay + b(x-\lfloor\frac{a}{b}\rfloor y) \\ &= \gcd(b, a\bmod b) \\ &= \gcd(a,b) \end{aligned} \)
一定存在 \(x'=y,y'=(x-\lfloor\frac{a}{b}\rfloor y)\) 满足 \(ax'+by' = \gcd(a,b)\)
根据欧几里得算法,有 \(\gcd(a, b) = \gcd(b, a \bmod b) = \gcd(a \bmod b, b \bmod (a \bmod b)) = \cdots = \gcd(\gcd(a,b),0)\),对于 \(\gcd(\gcd(a,b),0)\),这是 \(b=0\) 时的情况,有解。根据上面 \(x',y'\) 的倒推过来,对于 \(\gcd(a,b)\) 的也一定有解。
综上,原命题得证。
扩展欧几里得 exgcd
裴蜀定理根据欧几里得算法证明的,且证法 \(2\) 给出了 \(x,y\) 的求法。
int exgcd(int a, int b, int& x, int& y) {
if(b == 0) {
x = 1, y = 0;
return a;
}
int d = exgcd(b, a % b, x, y);
int z = x;
x = y;
y = z - y * (a / b);
return d;
}
时间复杂度 \(\log(\min(a,b))\),和欧几里得算法一样,只不过记录了一组特解 \(x,y\)
二元一次不定方程
\(a,b,c\in\mathbb{Z},a,b不全为0,ax+by=c\)
性质
证明:
必要性:根据裴蜀定理求出 \(ax+by=\gcd(a,b)\) 的一组特解 \(x_0, y_0\),则 \(x=x_0 \cdot \frac{c}{\gcd(a,b)}, y=y_0 \cdot \frac{c}{\gcd(a,b)}\)
充分性:
设 \(g = \gcd(a,b)\), 设 \(g=\gcd(a,b)\),则有 \(k_1,k_2\) 满足
\(
\begin{cases}
k_1g=a \\
k_2g=b
\end{cases}
\),\(\gcd(k_1,k_2)=1\)
\(\begin{aligned} ax+by&=c \\ k_1gx+k_2gy&=c \\ g(k_1x+k_2y)&=c \end{aligned}\)
则 \(g|c\),即 \(\gcd(a, b)|c\)
综上,原命题得证。
对于多元一次方程 \(n\in [2, +\infty] \cap \mathbb{Z}, b,a_i\in\mathbb{Z},\sum\limits^n_{i=1}|a_i|>0,\sum\limits^n_{i=1}a_ix_i=b\),当且仅当 \(\gcd(a_1,a_2,a_3,\dots,a_n)|b\) 时有正整数解
对于 \(n = 2\),即为二元一次不定方程。
对于 \(n > 2\) :
必要性:设 \(g = \gcd(a_1, a_2, a_3, \dots, a_n)\),因为 \(\forall i \in [1, n] \cap\mathbb{Z}, g|a_i\),所以 \(\forall i \in [1, n] \cap\mathbb{Z}, g|a_ix_i\),所以 \(g|\sum\limits^n_{i=1}a_ix_i\),即 \(g|b\)
充分性:
设 \(g=\gcd(a_1,a_2,a_3,\dots,a_n), g_2 = \gcd(a_1, a_2)\)。
假设对于方程 \(g_2t+a_3x_3+a_4x_4+\cdots+a_nx_n=b\) 有解,一组特解为 \(t',x_3',x_4',\dots, x_n'\)
对于方程 \(a_1x_1+a_2x_2 = g_2t'\),因为 \(g_2 = \gcd(a_1, a_2)\),则方程显然有解,一组特解为 \(x_1', x_2'\)
因为 \(\gcd(g_2, a_3, a_4,\dots,a_n) = g\),则对于方程 \(a_1x_2+a_2x_2+a_3x_3+\cdots+a_nx_n\) 有解,一组特解为 \(x_1',x_2',x_3',\cdots,x_n'\)
综上,原命题得证。
通解
设 \(g = \gcd(a,b)\),根据裴蜀定理求出 \(ax+by=\gcd(a,b)\) 的一组特解 \(x_0, y_0\),方程的通解为
证明:
\(\begin{aligned} a(x_0 \frac{c}{g} + k \frac{b}{g}) + b(y_0 \frac{c}{g} - k \frac{a}{g}) &= c \\ ax_0 \frac{c}{g} + ak \frac{b}{g} + by_0 \frac{c}{g} - bk \frac{a}{g} &= c \\ ax_0 \frac{c}{g} + by_0 \frac{c}{g} &= c \end{aligned}\)
原命题得证。
最小非负整数解:
\(x = (x_0\frac{c}{g} \bmod \frac{b}{g} + \frac{b}{g}) \bmod \frac{b}{g}\)
\(y = (y_0\frac{c}{g} \bmod \frac{a}{g} + \frac{a}{g}) \bmod \frac{a}{g}\)
中国剩余定理 CRT
对于一元线性同余方程组
\(a_1,a_2,a_3,\dots,a_n\in\mathbb{Z}, m_1,m_2,m_3,\dots,m_n\) 两两互质。
设 \(M = \prod\limits^n_{i=1}m_i, M_i=\frac{M}{m_i},t_i = M_i^{-1} \bmod m_i,\forall i \in\{1,2,3,\dots,n\}\)
原方程组的通解为
在模 \(M\) 意义下解唯一。
证明:
对于 \(j \in \{1,2,3,\dots,n\}\) :
若 \(j = i\),则 \(a_it_iM_i \equiv a_i \cdot 1 \equiv a_i \pmod {m_j}\)
若 \(j \neq i\),因为 \(M_i = \frac{M}{m_i}\),所以 \(m_j|M_i\),则 \(a_it_iM_i \equiv 0 \pmod {m_j}\)
综上,有 \(x \equiv a_i \pmod {m_i}\)
假设 \(x_1,x_2\) 都是原方程组的整数解,则 \(x_1\equiv x_2 \pmod {m_i}\),因为 \(m_i\) 两两互质,根据模与同余的性质 \(11\),有 \(x_1 \equiv x_2 \pmod {\prod\limits^{n}_{i=1}m_i}\),即 \(x_1 \equiv x_2 \pmod{M}\),所以每两个相邻的整数解相差 \(M\)
综上,原命题得证。
扩展中国剩余定理 exCRT
解一元线性同余方程组
\(a_1,a_2,a_3,\dots,a_n\in\mathbb{Z}\)
解:
利用 \(\text{exgcd}\) 合并方程。
取前两个方程
\(\begin{cases}
x \equiv a_1 \pmod {m_1} \\
x \equiv a_2 \pmod {m_2} \\
\end{cases} \Rightarrow
\begin{cases}
x = k_1m_1 + a_1 \\
x = k_2m_1 + a_2
\end{cases} \Rightarrow
k_1m_1 + a_1 = k_2m_1 + a_2 \Rightarrow
k_1m_1 + k_2 \cdot (-m_2) = a_2 - a_1
\),用 \(\text{exgcd}\) 解出方程的一组特解 \(k_1=k_1',k_2=k_2'\),回代即可得出 \(x\) 的一个特解 \(x=x_0\)。若 \(\gcd(m_1,m_2) \nmid (a_2-a_1)\),则无解。
\(k_1\) 的通解为 \(k_1=k_1' + t\frac{m_2}{\gcd(m_1,m_2)},t\in\mathbb{Z}\),则每 \(\frac{m_2}{\gcd(m_1,m_2)}\) 个数 \(k_1\) 就有一个解,又 \(x = k_1m_1 + a_1\),则每 \(\frac{m_1m_2}{\gcd(m_1,m_2)}\),即每 \(\text{lcm}(m_1, m_2)\) 个数 \(x\) 就有一个满足前两个方程的解,则 \(x\) 的通解为 \(x=x_0 + t\cdot\text{lcm}(m_1, m_2),t\in\mathbb{Z}\),则有方程 \(x\equiv x_0 \pmod{\text{lcm}(m_1, m_2)}\)。
综上,
\(\begin{cases}
x \equiv a_1 \pmod {m_1} \\
x \equiv a_2 \pmod {m_2} \\
\end{cases} \Rightarrow
x\equiv x_0 \pmod{\text{lcm}(m_1, m_2)}
\)。不断重复这个过程,直至合并为一个方程。