初等数论简明教程
本文给出初等数论中的一些重要的定理与例题,证明风格采用 整除线法 与 命题节点法。
整除线法 指推理的第 nnn 步左边的字符可由前面左边的字符得到,右边的字符可由前面右边的字符得到,整除线变成了推理线,既少写了很多字,又对下一步推理有一定提示作用。
公共约定
- A={a1,a2,...,an}=ajA = \{a_1, a_2, ..., a_n\} = a_jA={a1,a2,...,an}=aj
- L=[a1,a2,...,an]=[aj]L = [a_1, a_2, ..., a_n] = [a_j]L=[a1,a2,...,an]=[aj] (最小公倍数)
- D=(a1,a2,...,an)=(aj)D = (a_1, a_2, ..., a_n) = (a_j)D=(a1,a2,...,an)=(aj) (最大公约数)
- rrr:余数
- f(aj)f(a_j)f(aj):集合 AAA 所有元素均符合 f(aj)f(a_j)f(aj)
- L′L'L′:公倍数
- ddd:公约数
- {Pn}\{P_n\}{Pn}:素数列 2,3,5,7,11,13,...2,3,5,7,11,13,...2,3,5,7,11,13,...
- n=p1α1p2α2...ptαtn = p_1^{\alpha_1} p_2^{\alpha_2} ... p_t^{\alpha_t}n=p1α1p2α2...ptαt
这些约定是本文的默认约定,优先级弱于具体题目中的约定。
约定
- a∣s1a \mid s_1a∣s1,
∣s2\quad \mid s_2∣s2:aaa 同时整除 s1s_1s1 和 s2s_2s2 - a∣a \mida∣
b∣sb \mid sb∣s:aaa 和 bbb 都整除 sss - a,b⇒ca, b \Rightarrow ca,b⇒c:aaa 且 bbb 推出 ccc
定理1:公倍数是最小公倍数的倍数
aj∣L′⟺L∣L′a_j \mid L' \iff L \mid L'aj∣L′⟺L∣L′
证明
(⇐\Leftarrow⇐)
- L∣L′⇒L′=kLL \mid L' \Rightarrow L' = kLL∣L′⇒L′=kL
- L=qjajL = q_j a_jL=qjaj
- L′=kqjaj⇒aj∣L′L' = k q_j a_j \Rightarrow a_j \mid L'L′=kqjaj⇒aj∣L′
(⇒\Rightarrow⇒)
- L′=qL+rL' = qL + rL′=qL+r
- aj∣L′a_j \mid L'aj∣L′
∣L\quad \mid L∣L
∣r<L\quad \mid r < L∣r<L
∣r=0\quad \mid r = 0∣r=0 - L∣L′L \mid L'L∣L′
定理2:公约数是最大公约数的约数
d∣aj⟺d∣Dd \mid a_j \iff d \mid Dd∣aj⟺d∣D
证明
(⇐\Leftarrow⇐)
- d∣D⇒D=kdd \mid D \Rightarrow D = k dd∣D⇒D=kd
- aj=qjDa_j = q_j Daj=qjD
- aj=qjkd⇒d∣aja_j = q_j k d \Rightarrow d \mid a_jaj=qjkd⇒d∣aj
(⇒\Rightarrow⇒)
方法1
- D=a1x1+a2x2+...+akxk(裴蜀定理)D= a_1x_1+a_2x_2+...+a_kx_k (裴蜀定理)D=a1x1+a2x2+...+akxk(裴蜀定理)
- d∣Dd|Dd∣D
方法2
- : L=[d,D]→L≥DL=[d,D] → L ≥ DL=[d,D]→L≥D
- 对L=D和L>D分类讨论对 L = D 和 L > D 分类讨论 对L=D和L>D分类讨论
2.1 L=D→d∣D(可以)L=D → d\mid D (可以) L=D→d∣D(可以)
2.2 L>D(排除这种情况)L>D (排除这种情况) L>D(排除这种情况)
d∣aj∧D∣aj→L∣aj→L≤D(矛盾)d |a_j \land D |a_j → L |a_j → L ≤ D (矛盾) d∣aj∧D∣aj→L∣aj→L≤D(矛盾)
定理3:m(a1,...,ak)=(ma1,...,mak)=m(a_1, ..., a_k) = (ma_1, ..., ma_k)=m(a1,...,ak)=(ma1,...,mak)=
令
- d=(a1,...,ak)d=(a_1, ..., a_k)d=(a1,...,ak)
- D=(ma1,...,mak)D=(ma_1, ..., ma_k)D=(ma1,...,mak)
则:
D∣majD \mid ma_jD∣maj
Dm∣aj⇒Dm≤d\dfrac{D}{m} \mid a_j \Rightarrow \dfrac{D}{m} \leq dmD∣aj⇒mD≤d
d∣aj\quad d \mid a_jd∣aj
md∣majmd \mid ma_jmd∣maj
∣D⇒md≤D\quad \quad \mid D \Rightarrow md \leq D∣D⇒md≤D
定理4:m[a1,...,ak]=[ma1,...,mak]m[a_1, ..., a_k] = [ma_1, ..., ma_k]m[a1,...,ak]=[ma1,...,mak]
令
- L′=[a1,...,ak]L'=[a_1, ..., a_k]L′=[a1,...,ak]
- L=[ma1,...,mak]L=[ma_1, ..., ma_k]L=[ma1,...,mak]
则:
maj∣Lma_j \mid Lmaj∣L
aj∣Lm⇒L′≤Lm\quad a_j \mid \dfrac{L}{m} \Rightarrow L' \leq \dfrac{L}{m}aj∣mL⇒L′≤mL
∣L′\quad \quad \mid L'∣L′
maj∣mL′⇒L≤mL′ma_j \mid mL' \Rightarrow L \leq mL'maj∣mL′⇒L≤mL′
定理5:裴蜀定理
若 S={s∣s>0∧s=a1x1+a2x2+⋯+akxk}S = \{ s \mid s > 0 \land s = a_1 x_1 + a_2 x_2 + \cdots + a_k x_k \}S={s∣s>0∧s=a1x1+a2x2+⋯+akxk},则
D=(a1,...,ak)=minSD = (a_1, ..., a_k) = \min S D=(a1,...,ak)=minS
- s0=minSs_0 = \min Ss0=minS
- D∣aj⇒D∣s0D \mid a_j \Rightarrow D \mid s_0D∣aj⇒D∣s0
- aj=qjs0+rj⇒rj∈S∧rj<s0⇒rj=0⇒s0∣aj⇒s0∣Da_j = q_j s_0 + r_j \Rightarrow r_j \in S \land r_j < s_0 \Rightarrow r_j = 0 \Rightarrow s_0 \mid a_j \Rightarrow s_0 \mid Daj=qjs0+rj⇒rj∈S∧rj<s0⇒rj=0⇒s0∣aj⇒s0∣D
定理6:一次同余方程
参见 电枢公式
一次同余方程 ax≡b(modn)ax \equiv b \pmod nax≡b(modn) 有解的充要条件是 a0∣ba_0 \mid ba0∣b,此时恰有 a0a_0a0 个关于模 nnn 不同余的解。
其中 a0=(n,a)a_0 = (n, a)a0=(n,a),∣a∣=n/a0|a| = n / a_0∣a∣=n/a0
证明
- 设 x0x_0x0 是方程的一个特解,则 x=x0+t∣a∣x = x_0 + t|a|x=x0+t∣a∣(t=0,1,...,a0−1t = 0, 1, ..., a_0-1t=0,1,...,a0−1)也是解。
- t≥a0t \geq a_0t≥a0 会导致模 nnn 同余的解重复。
- 因为绕法 aaa,绕 ∣a∣|a|∣a∣ 次会第一次回到起点,所以 a(x0+∣a∣t)≡b(modn)a(x_0 + |a| t) \equiv b \pmod na(x0+∣a∣t)≡b(modn)。
注意:
- ax≡b(modn)ax \equiv b \pmod nax≡b(modn) 等价于 ax−b=nyax - b = nyax−b=ny。
- 可用辗转相除法找到 x′,n′x', n'x′,n′ 满足方程。
一次同余方程的规律
- 解的个数为最小绕数 a0a_0a0。
- 解就是与阶同绕的可达点,向右偏移最小特解。
- 如果有解,则 [0,∣a∣)[0, |a|)[0,∣a∣) 中一定存在唯一一个最小特解,特别当 aaa 是全达绕法时,0∼n−10 \sim n-10∼n−1 一定存在一个唯一特解。
- 方程有解,bbb 只能取 aaa 的可达点。
- 方程 ax+by=cax + by = cax+by=c 的一个特解为 cd(x0,y0)\frac{c}{d}(x_0, y_0)dc(x0,y0),其中 d=(a,b)d = (a, b)d=(a,b),(x0,y0)(x_0, y_0)(x0,y0) 可通过如下方式得到:
(ab1001)→列变换(d0x0s0y0t0)\begin{pmatrix} a & b \\ \hline 1 & 0 \\ 0 & 1 \end{pmatrix} \xrightarrow{列变换} \begin{pmatrix} d & 0 \\ \hline x_0 & s_0 \\ y_0 & t_0 \end{pmatrix} a10b01列变换dx0y00s0t0
(x0,y0,s0,t0,d)(x_0, y_0, s_0, t_0, d)(x0,y0,s0,t0,d) 满足:
- (a,b)=d(a, b) = d(a,b)=d
- ax0+by0=d⟹a(cdx0)+b(cdy0)=ca x_0 + b y_0 = d \implies a \left( \frac{c}{d} x_0 \right) + b \left( \frac{c}{d} y_0 \right) = cax0+by0=d⟹a(dcx0)+b(dcy0)=c
- as0+bt0=0a s_0 + b t_0 = 0as0+bt0=0
- (xy)=(x特y特)+k(s0t0)\begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} x_{特} \\ y_{特} \end{pmatrix} + k \begin{pmatrix} s_0 \\ t_0 \end{pmatrix}(xy)=(x特y特)+k(s0t0),其中 (x特,y特)=cd(x0,y0)(x_{特}, y_{特}) = \frac{c}{d}(x_0, y_0)(x特,y特)=dc(x0,y0)
例1
求解 8x≡4(mod 12)
本该约去公因数4,但为说明解的个数,所以不这么做,|8|=3 从0~3 试根
x0=2为其特解,8的最小饶数为4,阶是3,所以其非同余特解有4个,
为2+30,2+31,2+32,2+33
2,5,8,11
例2
解方程14x+105y=49
对矩阵解法稍做优化,下面两个列变换可以写到一起,节约纸张(2个连续列变换可写在一起)
14 105
1 0
0 1
--------------c2-7c1---------------------
7-71
--------------c1-2c2---------------------
0
15
-2
(141051001)∼(0715−7−21)\begin{pmatrix} 14 & 105 \\\\ 1 & 0 \\\\ 0 & 1 \end{pmatrix} \sim \begin{pmatrix} 0 & 7 \\\\ 15 & -7 \\\\ -2 & 1 \end{pmatrix} 141010501∼015−27−71
==> (x0,y0,s0,t0,d)=(−7,1,15,−2,7)(x_0, y_0, s_0, t_0, d) = (-7, 1, 15, -2, 7)(x0,y0,s0,t0,d)=(−7,1,15,−2,7)
(x特,y特)=cd(x0,y0)=497(−7,1)(x_{\text{特}}, y_{\text{特}}) = \frac{c}{d}(x_0, y_0) = \frac{49}{7}(-7, 1)(x特,y特)=dc(x0,y0)=749(−7,1)
可以观察发现如果仅仅是为了解方程,第二个列变换是可以省略的,一个列变换就得到了 (d,x0,y0)(d, x_0, y_0)(d,x0,y0)
例题
例1:(am−1,an−1)=a(m,n)−1(a^m - 1, a^n - 1) = a^{(m,n)} - 1(am−1,an−1)=a(m,n)−1
令
(m,n)=d=km−sn(m,n)=d=km-sn(m,n)=d=km−sn;
(am−1,an−1)=D(a^m - 1, a^n - 1) = D(am−1,an−1)=D;
证明:
ad−1∣a(m,n)−1∣am−1∣an−1∣Da^d - 1 \mid a^{(m,n)} - 1 \\ \quad\quad\quad \mid a^m - 1 \\ \quad\quad\quad \mid a^n - 1 \\ \quad\quad\mid D ad−1∣a(m,n)−1∣am−1∣an−1∣D
D∣am−1∣an−1∣ans−1⇒(ns,D)=1∣akm−1∣akm−ans∣ans(akm−ns−1)∣ans(ad−1)∣ad−1D\quad\quad \mid a^m - 1 \\ \quad\quad\quad \mid a^n - 1 \\ \quad\ \quad\ \quad\ \quad\ \quad\quad \quad\quad\quad \mid a^{ns} - 1\Rightarrow(ns,D)=1 \\ \quad\quad\quad\quad \mid a^{km} - 1 \\ \quad\quad\quad\quad\quad \mid a^{km} - a^{ns} \\ \quad\quad\quad\quad\quad\quad\quad\quad \mid a^{ns}(a^{km-ns}-1) \\ \quad\quad\quad\quad\quad\quad \mid a^{ns}(a^d-1) \\ \quad\quad\quad\quad \mid a^d-1 D∣am−1∣an−1 ∣ans−1⇒(ns,D)=1∣akm−1∣akm−ans∣ans(akm−ns−1)∣ans(ad−1)∣ad−1
例2:m>1⟹m∤2m−1m > 1 \implies m \nmid 2^m - 1m>1⟹m∤2m−1
证明思路:
- ppp 为 mmm 的最小素因子
- (m,p−1)=1(m, p-1) = 1(m,p−1)=1
m∣2m−1(假设)p∣2m−1(P1)∣2p−1−1(欧拉公式)∣2(m,p−1)−1(例1)∣1⟹p=1(P3假设错误)m \mid 2^m-1 \quad (假设) \\ p \mid 2^m-1 \quad (P1) \\ \quad\quad\quad\quad \mid 2^{p-1}-1 \quad (欧拉公式) \\ \quad\quad\quad \mid 2^{(m,p-1)}-1 \quad (例1) \\ \quad\quad\quad\quad\quad\quad\quad \mid 1 \implies p=1 \quad (P3假设错误) m∣2m−1(假设)p∣2m−1(P1)∣2p−1−1(欧拉公式)∣2(m,p−1)−1(例1)∣1⟹p=1(P3假设错误)