以下标点符号均用英文半角符号.带*号为作者自己证明,可能有漏洞,可以在评论区反馈.
带余除法
设 \(a,b\) 是两个给定的整数,\(a \ne 0\),那么,一定存在唯一的一对整数 \(q\) 与 \(r\),满足
\[b=qa+r,\quad 0\le r<|a|.\]
此外,\(a\mid b\) 的充分必要条件是 \(r=0\).
*辗转相减法
\((a,b)=(a,b-a).\)
证: 设 \(c=(a,b),a=cs,b=ct,(s,t)=1\),那么等价于证 \((s,t)=(s,t-s)=1(s<t)\)
若 \((s,t-s)=d>1\),一定有 \(d\mid t-s\).又 \(d\mid s\),那么 \(d\mid t\),\((s,t)\ge d\),矛盾.
故 \((a,b)=(a,b-a).\)
辗转相除法
定理 \(1\):设 \(u_0,u_1\) 是给定的两个整数,\(u_1\ne 0\),\(u1\nmid u_0\),我们一定可以重复应用带余除法得到下面 \(k+1\) 个等式:
\[\begin{cases} u_0=q_0u_1+u_2, & 0<u_2<|u_1|,\\ u_1=q_1u_2+u_3, & 0<u_3<u_2,\\ ......&......\\ u_{k-1}=q_{k-1}u_k+u_{k+1}, & 0<u_{k+1}<u_k,\\ u_k=q_ku_{k+1}. \end{cases} \]
以上的算法被称为辗转相除法。
\(P.S\):这里并不是联立方程组,只是我找不到对应的 \(Latex\).
证: 对 \(u_0,u_1\),由 \(u_1\nmid u_0\) 知必有第一式成立.同样地,如果 \(u_2\nmid u_1\) 就得到第二式;如果 \(u_2\mid u_1\) 就证明对 \(k=1\) 成立.继续这样做,就得到
\[|u_1|>u_2>u_3>...>u_{j+1}>0\]
及前面 \(j\) 个等式成立.若 \(u_j+1\mid u_j\),则定理对 \(k=j\) 成立;若 \(u_{j+1}\nmid u_j\),则继续对 \(u_j,u_{j+1}\) 用定理 \(1\).由于小于 \(|u_1|\) 的正整数只有有限个以及 \(1\) 整除任一整数,所以这过程不能无限制地做下去,一定会出现某个 \(k\),要么 \(1<u_{k+1}\mid u_k\),要么 \(1=u_{k+1}\mid u_k\),证毕.
定理 \(2\):由定理 \(1\),我们可以推出:
\(\text{(i)}\ u_{k+1}=(u_0,u_1)\),即最后一个不等于 \(0\) 的余数 \(u_{k+1}\) 就是 \(u_0\) 和 \(u_1\) 的最大公约数;
\(\text{(ii)}\ d\mid u_0\) 且 \(d\mid u_1\) 的充分必要条件是 \(d\mid u_{k+1}\);
\(\text{(iii)}\) 存在整数 \(x_0,x_1\),使
\[u_{k+1}=x_0u_0+x_1u_1,\]
即两个整数的最大公约数一定可表为这两个整数的整系数线性组合.
证: 由辗转相减法,从定理 \(1\) 最后一式开始,一次往上推,可得
\[u_{k+1}=(u_{k+1},u_k)=(u_k,u_{k-1})=...=(u_2,u_1)=(u_1,u_0),\]
这就证明了 \(\text{(i)}\).\((\text{ii})\) 的充分性和 \(\text{(iii)}\) 是等价的。我们知 \(u_{k+1}\) 可表示成 \(u_{k-1}\) 和 \(u_k\) 的整系数线性组合.然后消去 \(u_k\),得到 \(u_{k+1}\) 可表示为 \(u_{k-2}\) 和 \(u_{k-1}\) 的整系数线性组合,这就证明了 \(\text{(iii)}\).