初等數論簡明教程
本文給出初等數論中的一些重要的定理與例題,證明風格采用 整除線法 與 命題節點法。
整除線法 指推理的第 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α1??p2α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=qj?aj?
- L′=kqjaj?aj∣L′L' = k q_j a_j \Rightarrow a_j \mid L'L′=kqj?aj??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?=qj?D
- aj=qjkd?d∣aja_j = q_j k d \Rightarrow d \mid a_jaj?=qj?kd?d∣aj?
(?\Rightarrow?)
方法1
- D=a1x1+a2x2+...+akxk(裴蜀定理)D= a_1x_1+a_2x_2+...+a_kx_k (裴蜀定理)D=a1?x1?+a2?x2?+...+ak?xk?(裴蜀定理)
- 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=a1?x1?+a2?x2?+?+ak?xk?},則
D=(a1,...,ak)=min?SD = (a_1, ..., a_k) = \min S D=(a1?,...,ak?)=minS
- s0=min?Ss_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?=qj?s0?+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} ?a10?b01???列變換??dx0?y0??0s0?t0????
(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(dc?x0?)+b(dc?y0?)=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(s0?t0??),其中 (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} ?1410?10501??~?015?2?7?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假設錯誤)