整除
整除
整除 :设 a , b ∈ Z a,b\in \Z a , b ∈ Z 且 a ≠ 0 a\neq 0 a = 0 ,若 ∃ q ∈ Z \exist q\in \Z ∃ q ∈ Z ,使得 b = a q b=aq b = a q ,那么称 a a a 整除 b b b ,记作 a ∣ b a\mid b a ∣ b ,并且称 a a a 是 b b b 的因数 (约数), b b b 是 a a a 的倍数 。如果这样的整数 q q q 不存在,就称 a a a 不整除 b b b ,记作 a ∤ b a\nmid b a ∤ b 。
例如,6 ∣ − 24 , − 4 ∣ 56 , 8 ∣ 0 , − 4 ∤ 14 6\mid -24,\quad -4\mid 56,\quad 8\mid 0,\quad -4\nmid 14 6 ∣ − 24 , − 4 ∣ 56 , 8 ∣ 0 , − 4 ∤ 14
基本性质 :设 a , b , c ∈ Z a,b,c\in\Z a , b , c ∈ Z
a ∣ b ⟺ − a ∣ b ⟺ a ∣ − b a\mid b \iff -a\mid b \iff a\mid -b a ∣ b ⟺ − a ∣ b ⟺ a ∣ − b ;
若 a ∣ b , b ∣ a a\mid b,\ b\mid a a ∣ b , b ∣ a ,则 a = ± b a=\pm b a = ± b ;
若 a ∣ b , b ∣ c a\mid b,\ b\mid c a ∣ b , b ∣ c ,则 a ∣ c a\mid c a ∣ c ;
若 a ∣ b , a ∣ c a\mid b,\ a\mid c a ∣ b , a ∣ c ,则 ∀ x , y ∈ Z \forall x,y\in\Z ∀ x , y ∈ Z 恒有 a ∣ b x + c y a\mid bx+cy a ∣ b x + cy ;
若 m ∈ Z , m ≠ 0 m\in\Z,m\ne0 m ∈ Z , m = 0 ,则 a ∣ b ⟺ m a ∣ m b a\mid b \iff ma\mid mb a ∣ b ⟺ ma ∣ mb ;
若 b ≠ 0 b\ne0 b = 0 ,则 a ∣ b ⟹ ∣ a ∣ ⩽ ∣ b ∣ a\mid b \implies |a|\leqslant |b| a ∣ b ⟹ ∣ a ∣ ⩽ ∣ b ∣ ;
若 a ≠ 0 , b = q a + c a\ne0, b=qa+c a = 0 , b = q a + c ,那么 a ∣ b ⟺ a ∣ c a\mid b \iff a\mid c a ∣ b ⟺ a ∣ c ;
带余除法
带余除法 :设 a , b ∈ Z a,b\in \Z a , b ∈ Z 且 b ≠ 0 b\neq 0 b = 0 ,则存在唯一的一对 q , r ∈ Z q,r\in\Z q , r ∈ Z ,使得
a = b q + r , 0 ⩽ r < ∣ b ∣ a=bq+r,\quad 0\leqslant r<|b|
a = b q + r , 0 ⩽ r < ∣ b ∣
从数轴上可以直观的看到
现在证明 q , r q,r q , r 的唯一性。我们假定 a = b q 1 + r 1 = b q 2 + r 2 a=bq_1+r_1=bq_2+r_2 a = b q 1 + r 1 = b q 2 + r 2 ,即 r 1 − r 2 = b ( q 2 − q 1 ) r_1-r_2=b(q_2-q_1) r 1 − r 2 = b ( q 2 − q 1 ) 。于是 b ∣ r 1 − r 2 b\mid r_1-r_2 b ∣ r 1 − r 2 ,而 − ∣ b ∣ < r 1 − r 2 < ∣ b ∣ -|b|<r_1-r_2<|b| − ∣ b ∣ < r 1 − r 2 < ∣ b ∣ ,因此 r 1 − r 2 = 0 r_1-r_2=0 r 1 − r 2 = 0 即 r 1 = r 2 r_1=r_2 r 1 = r 2 ,从而 q 1 = q 2 q_1=q_2 q 1 = q 2 。所以 q , r q,r q , r 是唯一的。
我们把带余除法中唯一的 q , r q,r q , r 分别叫做 a a a 除以 b b b 的商 (quotien)和余数 (remainder)。显然,a a a 能被 b b b 整除当且仅当余数 r = 0 r=0 r = 0 。
素数
定义 :除了1和它自身外,不能被其它正整数整除的正整数叫做素数 ,不是素数又不是1的正整数叫做合数 。
由定义知,3,13,31是素数,12,14,81是合数,1既不是素数也不是合数。显然,2是唯一的偶素数,也是最⼩的素数。
容易发现,除了1以外,每个正整数的最⼩正因数 p p p 是⼀个素数。任何⼤于1的整数,总可分解为⼀些素数的乘积。通常,把⼀个正整数的素数因数叫做它的素因数。
素数有无限多个 :假设素数有有限个 P = { p 1 , p 2 , ⋯ , p k } \mathbb P=\{p_1,p_2,\cdots,p_k\} P = { p 1 , p 2 , ⋯ , p k } ,记这 k k k 个素数的乘积为 N = p 1 p 2 ⋯ p k N=p_1p_2\cdots p_k N = p 1 p 2 ⋯ p k ,由此可知,∀ p i ∈ P \forall p_i\in \mathbb P ∀ p i ∈ P 有 p i ∣ N p_i\mid N p i ∣ N ,但是 p i ∤ N + 1 p_i\nmid N+1 p i ∤ N + 1 ,所以 N + 1 N+1 N + 1 一定能被某个素数整除,这就产生了矛盾。因此,素数有无限多个。
素数判别法 :如果大于1的整数 a a a 不能被所有不超过 a \sqrt{a} a 的素数整除,那么 a a a 一定是素数。
这个判别法实际上给出了⼀种寻找素数的有效⽅法,称为Eratosthenes筛法。
例如:找出1-100间的所有素数。
解:只需把1-100间的合数去掉即可。对于1-100间的每个合数 a a a ,它一定能被某个不超过 a \sqrt{a} a 的素数整除,从而能被不超过 100 = 10 \sqrt{100}=10 100 = 10 的素数整除。我们知道,不超过10的素数为 2,3,5,7。接下来,我们去掉2,3,5,7和他们的倍数,剩下的就是不超过100的全部素数。
最大公约数
定义 :给定两个整数 a , b a,b a , b ,必有公共的因数,叫做它们的公约数。当 a , b ≠ 0 a,b\neq0 a , b = 0 时,在有限个公约数中最⼤的⼀个叫做 a , b a,b a , b 的最⼤公约数 ,记作 gcd ( a , b ) \gcd(a,b) g cd( a , b ) 。如果 gcd ( a , b ) = 1 \gcd(a,b)=1 g cd( a , b ) = 1 ,那么称 a , b a,b a , b 是互素 (relatively prime)的。
例如,-8和14的公约数为1,-1,2,-2,所以 gcd ( − 8 , 14 ) = 2 \gcd(-8,14)=2 g cd( − 8 , 14 ) = 2 。
类似的,我们可以定义三个及以上非零整数的最⼤公约数 gcd ( a 1 , a 2 , ⋯ , a n ) \gcd(a_1,a_2,\cdots,a_n) g cd( a 1 , a 2 , ⋯ , a n ) 和互素。
定理 :设余数 r = a m o d b r=a\bmod b r = a mod b ,那么 gcd ( a , b ) = gcd ( b , r ) \gcd(a,b)=\gcd(b,r) g cd( a , b ) = g cd( b , r ) 。
证明:设带余除法 a = q b + r a=qb+r a = q b + r 。若 d d d 是 a , b a,b a , b 的公约数 ,即 d ∣ a , d ∣ b d\mid a,\ d\mid b d ∣ a , d ∣ b ,则 d ∣ r = a − q b d\mid r=a-qb d ∣ r = a − q b ,从而 d d d 为 b , r b,r b , r 的公约数。同理可证 b , r b,r b , r 的公约数也是 a , b a,b a , b 的公约数。因此得证。
按照这个思路,我们来求 gcd ( 1840 , 667 ) \gcd(1840,667) g cd( 1840 , 667 ) 。因为
1840 = 667 × 2 + 506 , 667 = 506 × 1 + 161 , 506 = 161 × 3 + 23 1840=667\times 2+506,\\ 667=506\times1+161,\\ 506=161\times3+23
1840 = 667 × 2 + 506 , 667 = 506 × 1 + 161 , 506 = 161 × 3 + 23
于是
gcd ( 1840 , 667 ) = gcd ( 667 , 506 ) = gcd ( 506 , 161 ) = gcd ( 161 , 23 ) = 23 \gcd(1840,667)=\gcd(667,506)=\gcd(506,161)=\gcd(161,23)=23
g cd( 1840 , 667 ) = g cd( 667 , 506 ) = g cd( 506 , 161 ) = g cd( 161 , 23 ) = 23
这种求最大公约数的⽅法,叫做辗转相除法,也称 Euclid 算法 ,它是⼀种古⽼⽽有效的算法。下面我们给出辗转相除法的一般形式
对于三个整数的最⼤公约数,可以转化为求两次两个整数的最⼤公约数
gcd ( a , b , c ) = gcd ( gcd ( a , b ) , c ) \gcd(a,b,c)=\gcd(\gcd(a,b),c)
g cd( a , b , c ) = g cd( g cd( a , b ) , c )
定理 :设 a , b ≠ 0 a,b\neq 0 a , b = 0 ,则 ∃ m , n ∈ Z \exist m,n\in\Z ∃ m , n ∈ Z 使得 gcd ( a , b ) = a m + b n \gcd(a,b)=am+bn g cd( a , b ) = am + bn 。
证明:不妨设 b > 0 b>0 b > 0 ,对 a , b a,b a , b 用带余除法
a = b q 1 + r 1 ( 0 ⩽ r 1 < b ) a=bq_1+r_1\quad (0\leqslant r_1<b)
a = b q 1 + r 1 ( 0 ⩽ r 1 < b )
因为 gcd ( a , b ) = gcd ( b , r 1 ) \gcd(a,b)=\gcd(b,r_1) g cd( a , b ) = g cd( b , r 1 ) ,若 r 1 = 0 r_1=0 r 1 = 0 ,则 gcd ( a , b ) = gcd ( b , r 1 ) = b \gcd(a,b)=\gcd(b,r_1)=b g cd( a , b ) = g cd( b , r 1 ) = b 。此时有 m = 0 m=0 m = 0 ,n = 1 n=1 n = 1 。
若 r 1 ≠ 0 r_1\neq0 r 1 = 0 ,对 b , r 1 b,r_1 b , r 1 用带余除法
b = r 1 q 2 + r 2 ( 0 ⩽ r 2 < r 1 ) b=r_1q_2+r_2\quad(0\leqslant r_2<r_1)
b = r 1 q 2 + r 2 ( 0 ⩽ r 2 < r 1 )
且 gcd ( b , r 1 ) = gcd ( r 1 , r 2 ) \gcd(b,r_1)=\gcd(r_1,r_2) g cd( b , r 1 ) = g cd( r 1 , r 2 ) 。若r 2 = 0 r_2=0 r 2 = 0 ,则 gcd ( a , b ) = gcd ( r 1 , r 2 ) = a − b q 1 \gcd(a,b)=\gcd(r_1,r_2)=a-bq_1 g cd( a , b ) = g cd( r 1 , r 2 ) = a − b q 1 。此时有 m = 1 m=1 m = 1 ,n = − q 1 n=-q_1 n = − q 1 。
若 r 2 ≠ 0 r_2\neq0 r 2 = 0 ,对 r 1 , r 2 r_1,r_2 r 1 , r 2 用带余除法,依次类推,总能找到符合条件的 m , n m,n m , n 。 这个性质对多于整数情形仍然成立。
推论1 :若 a ∣ b c a\mid bc a ∣ b c 且 gcd ( a , b ) = 1 \gcd(a,b)=1 g cd( a , b ) = 1 ,则 a ∣ c a\mid c a ∣ c 。
证明:因为 gcd ( a , b ) = 1 \gcd(a,b)=1 g cd( a , b ) = 1 ,故 ∃ m , n ∈ Z \exists m,n\in\Z ∃ m , n ∈ Z 使得 a m + b n = 1 am+bn=1 am + bn = 1 。于是 ( a c ) m + ( b c ) n = c (ac)m+(bc)n=c ( a c ) m + ( b c ) n = c ,又因为 a ∣ a c , a ∣ b c a\mid ac,\ a\mid bc a ∣ a c , a ∣ b c ,所以 a ∣ ( a c ) m + ( b c ) n = c a\mid (ac)m+(bc)n=c a ∣ ( a c ) m + ( b c ) n = c 。
推论2 :若素数 p ∣ a b p\mid ab p ∣ ab ,则 p ∣ a p\mid a p ∣ a 或 p ∣ b p\mid b p ∣ b 。
证明:因为 p p p 是素数,其正因数只有 1 , p 1,p 1 , p ,所以 gcd ( p , a ) = 1 \gcd(p,a)=1 g cd( p , a ) = 1 或 gcd ( p , a ) = p \gcd(p,a)=p g cd( p , a ) = p 。若 gcd ( p , a ) = 1 \gcd(p,a)=1 g cd( p , a ) = 1 ,由推论1得 p ∣ b p\mid b p ∣ b 。若 gcd ( p , a ) = p \gcd(p,a)=p g cd( p , a ) = p 则 p ∣ a p\mid a p ∣ a 。
最小公倍数
定义 :对于两个⾮零整数 a , b a,b a , b ,⼀定存在⼀个整数,它同时为 a , b a,b a , b 的倍数,这个倍数叫做 a , b a,b a , b 的公倍数。我们把 a , b a,b a , b 的最⼩的正公倍数叫做最⼩公倍数 ,记作 lcm ( a , b ) \text{lcm}(a,b) lcm ( a , b ) 。
类似的,我们可以定义三个及以上非零整数的最小公倍数 lcm ( a 1 , a 2 , ⋯ , a n ) \text{lcm}(a_1,a_2,\cdots,a_n) lcm ( a 1 , a 2 , ⋯ , a n ) 。
定理 :任意 a , b a,b a , b 的最小公倍数 m = lcm ( a , b ) m=\text{lcm}(a,b) m = lcm ( a , b ) 一定整除 a , b a,b a , b 的公倍数。
证明:设 n n n 是任意一个公倍数,对 m , n m,n m , n 使用带余除法 n = m q + r n=mq+r n = m q + r ,其中 0 ⩽ r < m 0\leqslant r< m 0 ⩽ r < m 。假设 m ∤ n m\nmid n m ∤ n ,则 r > 0 r> 0 r > 0 。由 a ∣ m , b ∣ m , a ∣ n , b ∣ n a\mid m,\ b\mid m,\ a\mid n,\ b\mid n a ∣ m , b ∣ m , a ∣ n , b ∣ n 得 a ∣ r , b ∣ r a\mid r,\ b\mid r a ∣ r , b ∣ r ,即 r r r 也是 a , b a,b a , b 的公倍数。但 r < m r< m r < m ,这与 m = lcm ( a , b ) m=\text{lcm}(a,b) m = lcm ( a , b ) 矛盾。因此,m ∣ n m\mid n m ∣ n 。
求得最小公倍数
gcd ( a , b ) ⋅ lcm ( a , b ) = ∣ a b ∣ \gcd(a,b)\cdot \text{lcm}(a,b)=|ab|
g cd( a , b ) ⋅ lcm ( a , b ) = ∣ ab ∣
三个整数的最⼤公约数,总可以转化为求两次两个整数的最⼤公约数
lcm ( a , b , c ) = lcm ( lcm ( a , b ) , c ) \text{lcm}(a,b,c)=\text{lcm}(\text{lcm}(a,b),c)
lcm ( a , b , c ) = lcm ( lcm ( a , b ) , c )
算术基本定理
算术基本定理 :任何⼤于1的整数 n n n 总可以分解成素因数乘积的形式
n = p 1 p 2 ⋯ p r n=p_1p_2\cdots p_r
n = p 1 p 2 ⋯ p r
其中 p i p_i p i 是素数。如果不计分解式中素因数的次序,则这种分解式是惟⼀的,叫做素因数分解式。
将上述表示中相同的素数合并,可得
n = p 1 m 1 p 2 m 2 ⋯ p s m r n={p_1}^{m_1}{p_2}^{m_2}\cdots{p_s}^{m_r}
n = p 1 m 1 p 2 m 2 ⋯ p s m r
称为标准素因数分解式。
证明:下面只证明素因式的唯一性。假定 n n n 有两个素因式
n = p 1 p 2 ⋯ p r = q 1 q 2 ⋯ q s n=p_1p_2\cdots p_r=q_1q_2\cdots q_s
n = p 1 p 2 ⋯ p r = q 1 q 2 ⋯ q s
由于 p 1 p_1 p 1 是素数,且 p 1 ∣ q 1 q 2 ⋯ q s p_1\mid q_1q_2\cdots q_s p 1 ∣ q 1 q 2 ⋯ q s ,故 p 1 p_1 p 1 整除 q 1 , q 2 , ⋯ , q s q_1,q_2,\cdots,q_s q 1 , q 2 , ⋯ , q s 中的某个 q i q_i q i ,当不计素因数的次序时,总可假定 p 1 ∣ q 1 p_1\mid q_1 p 1 ∣ q 1 ,而 p 1 , q 1 p_1,q_1 p 1 , q 1 均为素数,故 p 1 = q 1 p_1=q_1 p 1 = q 1 ,于是 p 2 ⋯ p r = q 2 ⋯ q s p_2\cdots p_r=q_2\cdots q_s p 2 ⋯ p r = q 2 ⋯ q s 。同理可得 p 2 = q 2 p_2=q_2 p 2 = q 2 ,依次类推,最后得 r = s r=s r = s 且 p i = q i p_i=q_i p i = q i 。所以,n n n 的素因数分解式是唯一的。
下面我们来看素因数分解式的一个⾮常重要的应⽤。
示例:求解 gcd ( 720 , 152 ) \gcd(720,152) g cd( 720 , 152 ) 和 lcm ( 720 , 152 ) \text{lcm}(720,152) lcm ( 720 , 152 ) 。
解:容易知道
720 = 2 4 × 3 2 × 5 , 152 = 2 3 × 19 720=2^4\times 3^2\times 5,\quad 152=2^3\times 19
720 = 2 4 × 3 2 × 5 , 152 = 2 3 × 19
由此不难得到
gcd ( 720 , 152 ) = 2 3 = 8 , lcm ( 720 , 152 ) = 2 4 × 3 2 × 5 × 19 = 13680 \begin{aligned}
\gcd(720,152)&=2^3=8, \\
\text{lcm}(720,152)&=2^4\times 3^2\times 5\times 19=13680
\end{aligned}
g cd( 720 , 152 ) lcm ( 720 , 152 ) = 2 3 = 8 , = 2 4 × 3 2 × 5 × 19 = 13680
⼀般地,对于整数 a , b a,b a , b ,找出它们所有的互异素因数,然后,将 a , b a,b a , b 表示成这些素因数的幂的乘积,如果其中⼀个素因数在 a a a 或 b b b 中不出现,就将这个素因数的幂指数写作0,那么 gcd ( a , b ) \gcd(a,b) g cd( a , b ) 可以表示成这些素因数的幂的乘积,每个素因数的幂指数为其在 a a a 与 b b b 中的幂指数的最⼩者。⽽ lcm ( a , b ) \text{lcm}(a,b) lcm ( a , b ) 也可以表示成这些素因数幂的乘积,每个素因数的幂指数为其在 a a a 与 b b b 中的幂指数的最大者。
同余与同余方程
同余
定义 :设 n ∈ Z + , a , b ∈ Z n\in \Z^+,a,b\in\Z n ∈ Z + , a , b ∈ Z ,如果 a , b a,b a , b 被 n n n 除后余数相同,那么称 a a a 和 b b b 模 n n n 同余,记作
a ≡ b ( m o d n ) a\equiv b\pmod n
a ≡ b ( mod n )
例如 12 ≡ − 6 ( m o d 9 ) 12\equiv -6\pmod 9 12 ≡ − 6 ( mod 9 )
设 a = n q 1 + r 1 , b = n q 2 + r 2 a=nq_1+r_1,\ b=nq_2+r_2 a = n q 1 + r 1 , b = n q 2 + r 2 。若 a ≡ b ( m o d n ) a\equiv b\pmod n a ≡ b ( mod n ) 则 r 1 = r 2 r_1=r_2 r 1 = r 2 ,并且 a − b = n ( q 1 − q 2 ) a-b=n(q_1-q_2) a − b = n ( q 1 − q 2 ) ,于是 n ∣ ( a − b ) n\mid(a-b) n ∣ ( a − b ) 。反过来,若 n ∣ a − b = n ( q 1 − q 2 ) + r 1 − r 2 n\mid a-b=n(q_1-q_2)+r_1-r_2 n ∣ a − b = n ( q 1 − q 2 ) + r 1 − r 2 ,则 n ∣ r 1 − r 2 n\mid r_1-r_2 n ∣ r 1 − r 2 ,而 − n < r 1 − r 2 < n -n< r_1-r_2< n − n < r 1 − r 2 < n ,故 r 1 − r 2 = 0 r_1-r_2=0 r 1 − r 2 = 0 ,因此 a ≡ b ( m o d n ) a\equiv b\pmod n a ≡ b ( mod n ) 。于是我们有
a ≡ b ( m o d n ) ⟺ n ∣ a − b a\equiv b\pmod n \iff n\mid a-b
a ≡ b ( mod n ) ⟺ n ∣ a − b
由上式可得同余是等价关系:
自反性: a ≡ a ( m o d m ) a\equiv a\pmod{m} a ≡ a ( mod m )
对称性:若 a ≡ b ( m o d m ) a\equiv b\pmod{m} a ≡ b ( mod m ) ,则 b ≡ a ( m o d m ) b\equiv a\pmod{m} b ≡ a ( mod m )
传递性:若 a ≡ b ( m o d m ) , b ≡ c ( m o d m ) a\equiv b\pmod{m},\ b\equiv c\pmod{m} a ≡ b ( mod m ) , b ≡ c ( mod m ) ,则 a ≡ c ( m o d m ) a\equiv c\pmod{m} a ≡ c ( mod m )
性质 :设 n ∈ Z + n\in \Z^+ n ∈ Z + ,若 a ≡ b ( m o d n ) a\equiv b\pmod n a ≡ b ( mod n ) 且 c ≡ d ( m o d n ) c\equiv d\pmod n c ≡ d ( mod n ) 则
a + c ≡ b + d ( m o d n ) a+c\equiv b+d\pmod n a + c ≡ b + d ( mod n )
a c ≡ b d ( m o d n ) ac\equiv bd\pmod n a c ≡ b d ( mod n )
k a ≡ k b ( m o d n ) , k ∈ Z ka\equiv kb\pmod n,\quad k\in \Z k a ≡ k b ( mod n ) , k ∈ Z
a m ≡ b m ( m o d n ) , m ∈ Z + a^m\equiv b^m\pmod n,\quad m\in \Z^+ a m ≡ b m ( mod n ) , m ∈ Z +
证明:(1) 因为 a ≡ b ( m o d n ) a\equiv b\pmod n a ≡ b ( mod n ) 且 c ≡ d ( m o d n ) c\equiv d\pmod n c ≡ d ( mod n ) ,所以 n ∣ a − b , n ∣ c − d n\mid a-b,\ n\mid c-d n ∣ a − b , n ∣ c − d ,因此 n ∣ a − b + c − d n\mid a-b+c-d n ∣ a − b + c − d ,即 n ∣ ( a + c ) − ( b − d ) n\mid (a+c)-(b-d) n ∣ ( a + c ) − ( b − d ) ,所以 a + c ≡ b + d ( m o d n ) a+c\equiv b+d\pmod n a + c ≡ b + d ( mod n ) 。
利⽤同余的这些性质,我们可以简化数论中的许多问题。
例如,如果今天为星期日,过 n n n 天后是星期几?这个问题并不难回答,我们只需对 n n n 和7用带余除法,由余数即可确定。但是,有时直接应⽤带余除法求余数是困难的,特别是当被除数较⼤时,如下例:
示例:今天为星期⽇,过 2004 2004 2004^{2004} 200 4 2004 天后是星期几?
分析:2004 2004 2004^{2004} 200 4 2004 这个数很⼤,我们很难直接判断7除 2004 2004 2004^{2004} 200 4 2004 的余数是几。现在,我们想办法把 2004 2004 2004^{2004} 200 4 2004 变⼩。⼀个⾃然的考虑是7除底数2004的余数是⼏,利用这个余数替换底数2004,然后降次,反复进⾏这个过程,直⾄去掉指数。
解:因为 2004 = 7 × 286 + 2 2004=7\times 286+2 2004 = 7 × 286 + 2 ,所以 2004 ≡ 2 ( m o d 7 ) 2004\equiv 2\pmod 7 2004 ≡ 2 ( mod 7 ) 。由同余的性质有
2004 2004 ≡ 2 2004 ( m o d 7 ) 2004^{2004}\equiv 2^{2004}\pmod 7
200 4 2004 ≡ 2 2004 ( mod 7 )
而 2 2004 = 8 668 2^{2004}=8^{668} 2 2004 = 8 668 。又 8 ≡ 1 ( m o d 7 ) 8\equiv 1\pmod 7 8 ≡ 1 ( mod 7 ) ,所以 8 668 ≡ 1 2004 ( m o d 7 ) 8^{668}\equiv 1^{2004}\pmod 7 8 668 ≡ 1 2004 ( mod 7 ) 。因此
2004 2004 ≡ 1 ( m o d 7 ) 2004^{2004}\equiv 1\pmod 7
200 4 2004 ≡ 1 ( mod 7 )
即 7 除 2004 2004 2004^{2004} 200 4 2004 的余数为1,所以结果是星期一。
定理 :若 a b ≡ a c ( m o d n ) ab\equiv ac\pmod n ab ≡ a c ( mod n ) 且 gcd ( a , n ) = 1 \gcd(a,n)=1 g cd( a , n ) = 1 则 b ≡ c ( m o d n ) b\equiv c\pmod n b ≡ c ( mod n )
证明:因为 gcd ( a , n ) = 1 \gcd(a,n)=1 g cd( a , n ) = 1 ,所以 ∃ k , l ∈ Z \exists k,l\in\Z ∃ k , l ∈ Z 使得 a k + n l = 1 ak+nl=1 ak + n l = 1 ,因此 n ∣ n l = 1 − a k n\mid nl=1-ak n ∣ n l = 1 − ak ,即 a k ≡ 1 ( m o d n ) ak\equiv1\pmod n ak ≡ 1 ( mod n ) 。又因为 a b ≡ a c ( m o d n ) ab\equiv ac\pmod n ab ≡ a c ( mod n ) ,所以 k a b ≡ k a c ( m o d n ) kab\equiv kac\pmod n k ab ≡ k a c ( mod n ) ,因此 b ≡ c ( m o d n ) b\equiv c\pmod n b ≡ c ( mod n ) 。
上述定理可以看作是同余意义下的消去律,前提是 a a a 与 n n n 必须互素。
剩余类
对正整数 n n n ,模 n n n 同余给出了整数之间的⼀种关系,这种关系我们称之为同余关系 。利⽤同余关系,我们可以对整数集进⾏分类。例如,模2同余可将整数集分为奇数和偶数。
我们把所有与整数 r r r 模 n n n 同余的整数构成的集合叫做模 n n n 的一个剩余类 ,记作 r m o d n r\bmod n r mod n 。
由剩余类的定义可知:
r m o d n = { r + k n : k ∈ Z } r\bmod n=\{r+kn: k\in\mathbb Z\} r mod n = { r + k n : k ∈ Z }
r m o d n = s m o d n ⟺ r ≡ s ( m o d n ) r\bmod n=s\bmod n \iff r\equiv s\pmod{n} r mod n = s mod n ⟺ r ≡ s ( mod n )
我们把模 n n n 的同余类全体构成的集合记为
\mathbb{Z}_n=\{r\bmod m:0\leqlant r< m\}
费马小定理 :设 p p p 是素数,a a a 是任意整数,若 gcd ( p , a ) = 1 \gcd(p,a)=1 g cd( p , a ) = 1 则
a p − 1 ≡ 1 ( m o d p ) a^{p-1}\equiv 1\pmod p
a p − 1 ≡ 1 ( mod p )
证明:由 gcd ( p , a ) = 1 \gcd(p,a)=1 g cd( p , a ) = 1 可知 p p p 不是 a a a 的素因数,又因为 p p p 不是1 , 2 , 3 , … , p − 1 1,2,3,\dots,p-1 1 , 2 , 3 , … , p − 1 的素因数,所以 a , 2 a , 3 a , … , ( p − 1 ) a a,2a,3a,\dots,(p-1)a a , 2 a , 3 a , … , ( p − 1 ) a 均不能被 p p p 整除。又因为 a , 2 a , 3 a , … , ( p − 1 ) a a,2a,3a,\dots,(p-1)a a , 2 a , 3 a , … , ( p − 1 ) a 模 p p p 两两不同余,所以它们分别属于模 p p p 的除 0 0 0 以外的 p − 1 p-1 p − 1 个不同的剩余类中。由同余的性质可知
a ⋅ 2 a ⋅ 3 a ⋯ ( m − 1 ) a ≡ 1 ⋅ 2 ⋅ 3 ⋯ ( m − 1 ) ( m o d m ) \begin{aligned} &a\cdot2a\cdot3a\cdots(m-1)a \\
\equiv &1\cdot2\cdot3\cdots(m-1)\pmod m
\end{aligned}
≡ a ⋅ 2 a ⋅ 3 a ⋯ ( m − 1 ) a 1 ⋅ 2 ⋅ 3 ⋯ ( m − 1 ) ( mod m )
因此
a m − 1 ( m − 1 ) ! ≡ ( m − 1 ) ! ( m o d m ) a^{m-1}(m-1)!\equiv(m-1)!\pmod m
a m − 1 ( m − 1 )! ≡ ( m − 1 )! ( mod m )
又由于 ( m − 1 ) ! (m-1)! ( m − 1 )! 不含素因数 m m m ,所以
gcd ( ( m − 1 ) ! , m ) = 1 \gcd((m-1)!,m)=1
g cd(( m − 1 )! , m ) = 1
由同余的消去律可知
a m − 1 ≡ 1 ( m o d m ) a^{m-1}\equiv1\pmod m
a m − 1 ≡ 1 ( mod m )
欧拉定理 :设 m ∈ Z + , a ∈ Z m\in\Z^+,a\in\Z m ∈ Z + , a ∈ Z ,若 gcd ( a , m ) = 1 \gcd(a,m)=1 g cd( a , m ) = 1 则
a φ ( m ) ≡ 1 ( m o d m ) a^{\varphi(m)}\equiv 1\pmod m
a φ ( m ) ≡ 1 ( mod m )
其中 φ ( m ) \varphi(m) φ ( m ) 称为欧拉函数,表示 1 , 2 , ⋯ , m 1,2,\cdots,m 1 , 2 , ⋯ , m 中与 m m m 互素的正整数的个数。
证明:记 φ ( m ) = r \varphi(m)=r φ ( m ) = r ,并用 a 1 , a 2 , … , a r a_1,a_2,\dots,a_r a 1 , a 2 , … , a r 表示 1 , 2 , 3 , … , m 1,2,3,\dots,m 1 , 2 , 3 , … , m 中所有与 m m m 互素的整数。因为 gcd ( a , m ) = 1 \gcd(a,m)=1 g cd( a , m ) = 1 ,所以 a a 1 , a a 2 , … , a a r aa_1,aa_2,\dots,aa_r a a 1 , a a 2 , … , a a r 与 m m m 均是互素的。从而它们分属于模 m m m 的 r r r 个剩余类 a 1 m o d m , a 2 m o d m , … , a r m o d m a_1\bmod m,\ a_2\bmod m,\ \dots,\ a_r\bmod m a 1 mod m , a 2 mod m , … , a r mod m 。由同余的性质可得:
a r a 1 a 2 ⋯ a r ≡ a 1 a 2 ⋯ a r ( m o d m ) a^ra_1a_2\cdots a_r\equiv a_1a_2\cdots a_r\pmod m
a r a 1 a 2 ⋯ a r ≡ a 1 a 2 ⋯ a r ( mod m )
又因为 a 1 , a 2 , … , a r a_1,a_2,\dots,a_r a 1 , a 2 , … , a r 均与 m m m 互素,由同余的消去律可得
a φ ( m ) ≡ 1 ( m o d m ) a^{\varphi(m)}\equiv1\pmod m
a φ ( m ) ≡ 1 ( mod m )
在欧拉定理中,如果 m m m 为素数,此时 φ ( m ) = m − 1 \varphi(m)=m-1 φ ( m ) = m − 1 ,那么我们得到了费马小定理。欧拉定理和费马小定理有许多重要的应用,利用它们可以简化许多计算。
同余方程
通常我们把含有未知数的同余式叫做同余方程,一次同余方程的一般形式为
a x ≡ b ( m o d n ) ax\equiv b\pmod n
a x ≡ b ( mod n )
其中 n ∈ Z + , a , b ∈ Z n\in\Z^+,a,b\in\Z n ∈ Z + , a , b ∈ Z 且 a ≠ 0 a\neq0 a = 0 。
若存在 c ∈ Z c\in\Z c ∈ Z 使得同余式 a c ≡ b ( m o d n ) ac\equiv b\pmod n a c ≡ b ( mod n ) 成立,则把 x ≡ c ( m o d n ) x\equiv c\pmod n x ≡ c ( mod n ) 叫做一次同余方程的解。例如, x ≡ 3 ( m o d 6 ) x\equiv 3\pmod 6 x ≡ 3 ( mod 6 ) 是 5 x ≡ 3 ( m o d 6 ) 5x\equiv 3\pmod 6 5 x ≡ 3 ( mod 6 ) 的解。
如果 x ≡ d ( m o d n ) x\equiv d\pmod n x ≡ d ( mod n ) 也是同余方程的解,且 c ≡ d ( m o d n ) c\equiv d\pmod n c ≡ d ( mod n ) ,那么我们将这两个解视作一样的。实际上,在这种意义下,一次同余方程的解可理解为模 n n n 的一个剩余类,是一个集合,而不是一个整数。因此,要判断一个模 n n n 的剩余类是不是同余方程的解,只需选取剩余类中的一个代表元,看它是否使同余式成立即可。
由上面的分析可知,解剩余类环中的方程总可以转化为解某个同余方程。与我们熟悉的解一元一次方程、一元二次方程等过程类似。接下来,我们来讨论一次同余方程解的情况:
情形一:当 gcd ( a , n ) = 1 \gcd(a,n)=1 g cd( a , n ) = 1 。 我们知道,当 gcd ( a , n ) = 1 \gcd(a,n)=1 g cd( a , n ) = 1 时,存在整数 k , l k,l k , l ,使得 a k + n l = 1 ak+nl=1 ak + n l = 1 ,于是 n ∣ n l = 1 − a k n\mid nl=1-ak n ∣ n l = 1 − ak , 即 a k ≡ 1 ( m o d n ) ak\equiv1\pmod n ak ≡ 1 ( mod n ) 。因此
a x ≡ b ( m o d n ) ⟺ a x ≡ ( a k ) b ( m o d n ) ⟺ x ≡ k b ( m o d n ) ax\equiv b\pmod n\iff ax\equiv(ak)b\pmod n\iff x\equiv kb\pmod n
a x ≡ b ( mod n ) ⟺ a x ≡ ( ak ) b ( mod n ) ⟺ x ≡ k b ( mod n )
因此,同余方程仅有一个解 x ≡ k b ( m o d n ) x\equiv kb\pmod n x ≡ k b ( mod n ) 。
情形二:再讨论 gcd ( a , n ) = d > 1 \gcd(a,n)=d>1 g cd( a , n ) = d > 1 的情形。 不妨设 x ≡ c ( m o d n ) x\equiv c\pmod n x ≡ c ( mod n ) 为同余方程的一个解,则 a c ≡ b ( m o d n ) ac\equiv b\pmod n a c ≡ b ( mod n ) ,从而 n ∣ a c − b n\mid ac-b n ∣ a c − b 。由于 d ∣ a d\mid a d ∣ a ,d ∣ n d\mid n d ∣ n ,故 d ∣ a c d\mid ac d ∣ a c ,d ∣ a c − b d\mid ac-b d ∣ a c − b ,从而
d ∣ a c − ( a c − b ) = b d\mid ac-(ac-b)=b
d ∣ a c − ( a c − b ) = b
这表明,同余方程有解时,必有 d ∣ b d\mid b d ∣ b 。 那么,当 d ∣ b d\mid b d ∣ b 时,同余方程是否一定有解呢?
记 a = a ′ d a=a'd a = a ′ d ,n = n ′ d n=n'd n = n ′ d ,b = b ′ d b=b'd b = b ′ d ,则 gcd ( a ′ , n ′ ) = 1 \gcd(a',n')=1 g cd( a ′ , n ′ ) = 1 。注意到
a x ≡ b ( m o d n ) ⟺ n ∣ a x − b ⟺ n ′ d ∣ ( a ′ x − b ′ ) d ⟺ n ′ ∣ a ′ x − b ′ ax\equiv b\pmod n\iff n\mid ax-b\iff n'd\mid(a'x-b')d\iff n'\mid a'x-b'
a x ≡ b ( mod n ) ⟺ n ∣ a x − b ⟺ n ′ d ∣ ( a ′ x − b ′ ) d ⟺ n ′ ∣ a ′ x − b ′
于是同余方程可化简为
a ′ x ≡ b ′ ( m o d n ′ ) a'x\equiv b'\pmod {n'}
a ′ x ≡ b ′ ( mod n ′ )
由于 gcd ( a ′ , n ′ ) = 1 \gcd(a',n')=1 g cd( a ′ , n ′ ) = 1 ,由情形一的讨论知,简化后的同余方程有惟一解 x ≡ k ′ b ′ ( m o d n ′ ) x\equiv k'b'\pmod {n'} x ≡ k ′ b ′ ( mod n ′ ) ,此时 x = k ′ b ′ + n ′ l x=k'b'+n'l x = k ′ b ′ + n ′ l ,其中 l l l 为任意整数。
对 l , d l,d l , d 用带余除法:l = d q + r l=dq+r l = d q + r ,其中 0 ⩽ r ⩽ d − 1 0\leqslant r\leqslant d-1 0 ⩽ r ⩽ d − 1 。则
x = k ′ b ′ + n ′ ( d q + r ) = k ′ b ′ + n q + n ′ r x=k'b'+n'(dq+r)=k'b'+nq+n'r
x = k ′ b ′ + n ′ ( d q + r ) = k ′ b ′ + n q + n ′ r
于是
x ≡ k ′ b ′ + n ′ r ( m o d n ) x\equiv k'b'+n'r\pmod n
x ≡ k ′ b ′ + n ′ r ( mod n )
其中 r = 0 , 1 , ⋯ , d − 1 r=0,1,\cdots, d-1 r = 0 , 1 , ⋯ , d − 1 。容易检验,它们都是同余方程的解。
综上所述,我们得到下面的结论。
定理 :一次同余方程 a x ≡ b ( m o d n ) ax\equiv b\pmod n a x ≡ b ( mod n ) 有解,当且仅当 gcd ( a , n ) ∣ b \gcd(a,n)\mid b g cd( a , n ) ∣ b 。此时,解的个数 d = gcd ( a , n ) d=\gcd(a,n) d = g cd( a , n ) 。
示例:解一次同余方程 9 x ≡ 6 ( m o d 15 ) 9x\equiv 6\pmod{15} 9 x ≡ 6 ( mod 15 ) 。
解:注意到 gcd ( 9 , 15 ) = 3 \gcd(9,15)=3 g cd( 9 , 15 ) = 3 ,且 3 ∣ 6 3\mid 6 3 ∣ 6 ,故同余方程有3个解。原方程可化简为 3 x ≡ 2 ( m o d 5 ) 3x\equiv 2\pmod{5} 3 x ≡ 2 ( mod 5 ) 。由于 3 × 2 ≡ 1 ( m o d 5 ) 3\times 2\equiv 1\pmod 5 3 × 2 ≡ 1 ( mod 5 ) ,故 x ≡ 2 × 2 = 4 ( m o d 5 ) x\equiv 2\times 2=4\pmod 5 x ≡ 2 × 2 = 4 ( mod 5 ) 。所以,原同余方程的三个解分别为
x ≡ 4 + 5 × 0 = 4 ( m o d 15 ) x ≡ 4 + 5 × 1 = 9 ( m o d 15 ) x ≡ 4 + 5 × 2 = 14 ( m o d 15 ) x\equiv 4+5\times 0=4\pmod{15} \\
x\equiv 4+5\times 1=9\pmod{15} \\
x\equiv 4+5\times 2=14\pmod{15}
x ≡ 4 + 5 × 0 = 4 ( mod 15 ) x ≡ 4 + 5 × 1 = 9 ( mod 15 ) x ≡ 4 + 5 × 2 = 14 ( mod 15 )
中国剩余定理
解同余方程组
{ x ≡ 2 ( m o d 3 ) x ≡ 3 ( m o d 5 ) x ≡ 2 ( m o d 7 ) \begin{cases}
x\equiv 2\pmod 3 \\
x\equiv 3\pmod 5 \\
x\equiv 2\pmod 7
\end{cases}
⎩ ⎨ ⎧ x ≡ 2 ( mod 3 ) x ≡ 3 ( mod 5 ) x ≡ 2 ( mod 7 )
容易检验,若存在正整数 k k k 使得每个同余式都成立时,所有模 3 × 5 × 7 = 105 3\times5\times 7=105 3 × 5 × 7 = 105 同余 k k k 的整数,也使得上述方程组成立。反过来,若还有整数 l l l 使得上述方程组成立,那么
l ≡ k ( m o d 3 ) , l ≡ k ( m o d 5 ) , l ≡ k ( m o d 7 ) l\equiv k\pmod 3,\ l\equiv k\pmod 5,\ l\equiv k\pmod 7
l ≡ k ( mod 3 ) , l ≡ k ( mod 5 ) , l ≡ k ( mod 7 )
于是 3 ∣ l − k , 5 ∣ l − k , 7 ∣ l − k 3\mid l-k,\ 5\mid l-k,\ 7\mid l-k 3 ∣ l − k , 5 ∣ l − k , 7 ∣ l − k ,从而 3 × 5 × 7 ∣ l − k 3\times5\times 7\mid l-k 3 × 5 × 7 ∣ l − k ,即 l ≡ k ( m o d 105 ) l\equiv k\pmod{105} l ≡ k ( mod 105 ) 。
通常,我们把 x ≡ k ( m o d 105 ) x\equiv k\pmod{105} x ≡ k ( mod 105 ) 叫做同余方程组的解,在这个意义下,同余方程组只有一个解。
中国剩余定理 :设 m 1 , m 2 , ⋯ , m r m_1,m_2,\cdots,m_r m 1 , m 2 , ⋯ , m r 是两两互素的正整数,则同余方程组
x ≡ a 1 ( m o d m 1 ) x ≡ a 2 ( m o d m 2 ) ⋮ x ≡ a r ( m o d m r ) x\equiv a_1\pmod {m_1}\\
x\equiv a_2\pmod {m_2}\\
\vdots \\
x\equiv a_r\pmod {m_r}\\
x ≡ a 1 ( mod m 1 ) x ≡ a 2 ( mod m 2 ) ⋮ x ≡ a r ( mod m r )
有模 M = m 1 m 2 ⋯ m r M=m_1m_2\cdots m_r M = m 1 m 2 ⋯ m r 的唯一解。
指数与原根
不定方程
公元200多年,古希腊数学家丢番图Diophantus曾讨论了某些不定⽅程,因⽽也有⼈把不定⽅程叫做Diophantus⽅程。
二元一次不定方程
二元一次不定方程是最简单的不定方程,它的一般形式为
a x + b y = c (1) ax+by=c\tag{1}
a x + b y = c ( 1 )
其中 a , b , c ∈ Z a,b,c\in\Z a , b , c ∈ Z ,且a , b ≠ 0 a,b\neq0 a , b = 0 。
显然,这类不定方程不一定有整数解。例如,2 x + 4 y = 1 2x+4y=1 2 x + 4 y = 1 没有整数解,因为对任意 x , y ∈ Z x,y\in\Z x , y ∈ Z ,2 x + 4 y 2x+4y 2 x + 4 y 恒为偶数,它不可能等于1。
我们感兴趣的是,不定方程 (1) 何时有整数解?有解时是否有无穷多个整数解?这些整数解是否有统一的表达式?当然,还有一个问题就是如何求出所有的整数解。
首先看不定方程 (1) 有解时,整数 a , b , c a,b,c a , b , c 具有什么特征。 观察不定方程 a x + b y = c ax+by=c a x + b y = c 的形式,自然联想到它与整除、同余之间的联系。 假定不定方程 (1) 有整数解 x = x 0 , y = y 0 x=x_0,\ y=y_0 x = x 0 , y = y 0 。因为 gcd ( a , b ) ∣ a , gcd ( a , b ) ∣ b \gcd(a,b)\mid a,\ \gcd(a,b)\mid b g cd( a , b ) ∣ a , g cd( a , b ) ∣ b ,所以 gcd ( a , b ) ∣ a x 0 + b y 0 = c \gcd(a,b)\mid ax_0+by_0=c g cd( a , b ) ∣ a x 0 + b y 0 = c 。也就是说,不定方程 (1) 有解时,整数 a , b , c a,b,c a , b , c 必须满足:
gcd ( a , b ) ∣ c \gcd(a,b)\mid c
g cd( a , b ) ∣ c
整数 a , b , c a,b,c a , b , c 的这种特征能否保证不定方程 (1) 有整数解呢?
下面我们来检验一下。设 d = gcd ( a , b ) ∣ c d=\gcd(a,b)\mid c d = g cd( a , b ) ∣ c ,令 a = a ′ d , b = b ′ d , c = c ′ d a=a'd,\ b=b'd,\ c=c'd a = a ′ d , b = b ′ d , c = c ′ d ,则不定方程 (1) 简化为
a ′ x + b ′ y = c ′ (2) a'x+b'y=c'\tag{2}
a ′ x + b ′ y = c ′ ( 2 )
其中 gcd ( a ′ , b ′ ) = 1 \gcd(a',b')=1 g cd( a ′ , b ′ ) = 1 。由最大公约数的性质,存在一对整数 u , v u,v u , v ,使得 a ′ u + b ′ v = 1 a'u+b'v=1 a ′ u + b ′ v = 1 。于是 a ′ ( u c ′ ) + b ′ ( v c ′ ) = c ′ a'(uc')+b'(vc')=c' a ′ ( u c ′ ) + b ′ ( v c ′ ) = c ′ ,从而有 a ( c ′ u ) + b ( c ′ v ) = c a(c'u)+b(c'v)=c a ( c ′ u ) + b ( c ′ v ) = c 。那么 x = c ′ u , y = c ′ v x=c'u,\ y=c'v x = c ′ u , y = c ′ v 就是不定方程 (1) 的整数解。
综合上述,我们可以得到不定方程 (1) 有整数解的一个判别准则。
定理 :不定方程 a x + b y = c ax+by=c a x + b y = c 有整数解,当且仅当 gcd ( a , b ) ∣ c \gcd(a,b)\mid c g cd( a , b ) ∣ c 。
从前面的分析可以看出,当不定方程 (1) 有整数解时,它可以化简为 x , y x,y x , y 的系数互素的不定方程 (2) 。基于这个事实,对有整数解的不定方程 (1) ,我们不妨假定 gcd ( a , b ) = 1 \gcd(a,b)=1 g cd( a , b ) = 1 ,设 x = x 0 , y = y 0 x=x_0,\ y=y_0 x = x 0 , y = y 0 为不定方程 (1) 的整数解。容易检验,对任意整数 t t t
{ x = x 0 + b t y = y 0 − a t (3) \begin{cases}x=x_0+bt \\y=y_0-at\end{cases}\tag{3}
{ x = x 0 + b t y = y 0 − a t ( 3 )
均为不定方程 (1) 的整数解。这意味着不定方程 (1) 有整数解时,必有无穷多个整数解。
不定方程的每个解是否都可以用表达式 (3) 表示呢?
任取不定方程 (1) 的整数解 x = x ′ , y = y ′ x=x',\ y=y' x = x ′ , y = y ′ ,则有 a x ′ + b y ′ = c ax'+by'=c a x ′ + b y ′ = c 。因为 a x 0 + b y 0 = c ax_0+by_0=c a x 0 + b y 0 = c ,所以
a ( x ′ − x 0 ) = b ( y 0 − y ′ ) a(x'-x_0)=b(y_0-y')
a ( x ′ − x 0 ) = b ( y 0 − y ′ )
从而 b ∣ a ( x ′ − x 0 ) b\mid a(x'-x_0) b ∣ a ( x ′ − x 0 ) 。因为 gcd ( a , b ) = 1 \gcd(a,b)=1 g cd( a , b ) = 1 ,所以 b ∣ x ′ − x 0 b\mid x'-x_0 b ∣ x ′ − x 0 。于是存在整数 t t t ,使得 x ′ − x 0 = b t x'-x_0=bt x ′ − x 0 = b t ,即 x ′ = x 0 + b t x'=x_0+bt x ′ = x 0 + b t ,代入上式得 y ′ = y 0 − a t y'=y_0-at y ′ = y 0 − a t 。这表明,不定方程 (1) 的每个解都可以表示成 (3) 式的形式。
通常,我们把 (3) 式叫做不定方程 (1) 的整数通解,而把 x = x 0 , y = y 0 x=x_0,\ y=y_0 x = x 0 , y = y 0 叫做不定方程 (1) 的一个特解。 综上所述,我们得到下面的结论。
定理 :设 gcd ( a , b ) = 1 \gcd(a,b)=1 g cd( a , b ) = 1 ,则不定方程 a x + b y = c ax+by=c a x + b y = c 的整数通解为
{ x = x 0 + b t y = y 0 − a t \begin{cases}x=x_0+bt \\y=y_0-at\end{cases}
{ x = x 0 + b t y = y 0 − a t
其中 t t t 为任意整数,x = x 0 , y = y 0 x=x_0,\ y=y_0 x = x 0 , y = y 0 为不定方程 a x + b y = c ax+by=c a x + b y = c 的一个特解。
从上述结论可以看出,要描述二元一次不定方程的所有整数解,只需知道它的一个特解即可。对某些比较简单的不定方程,如当 a , b a,b a , b 的绝对值较小时,我们可以直接通过观察或试验得到它的一个特解。
示例:求不定方程 5 x + 3 y = 10 5x+3y=10 5 x + 3 y = 10 的整数通解。
解:因为 gcd ( 5 , 3 ) = 1 \gcd(5,3)=1 g cd( 5 , 3 ) = 1 ,而 1 ∣ 10 1\mid10 1 ∣ 10 ,所以原不定方程有整数解。容易观察,5 x + 3 y = 1 5x+3y=1 5 x + 3 y = 1 有一个特解 x = − 1 , y = 2 x=-1,\ y=2 x = − 1 , y = 2 。因此,x = − 10 , y = 20 x=-10,\ y=20 x = − 10 , y = 20 就是原不定方程的一个特解。由上述结论,原不定方程的整数通解为
{ x = − 10 + 3 t y = 20 − 5 t \begin{cases}x=-10+3t \\y=20-5t \end{cases}
{ x = − 10 + 3 t y = 20 − 5 t
其中 t t t 为任意整数。
对某些较复杂的二元一次不定方程 a x + b y = c ax+by=c a x + b y = c ,其中 gcd ( a , b ) = 1 \gcd(a,b)=1 g cd( a , b ) = 1 ,我们很难直接观察出它的一个特解。这时候,我们可以通过辗转相除法求它的一个特解。其过程如下:
注意到,当 b = 1 b=1 b = 1 时,我们容易观察出不定方程 a x + b y = c ax+by=c a x + b y = c 的一个特解 x 0 = 1 , y 0 = c − a x_0=1,\ y_0=c-a x 0 = 1 , y 0 = c − a 。
下面假定 b > 1 b>1 b > 1 ,并且对 a , b a,b a , b 用辗转相除法得
a = b q 1 + r 1 , b = r 1 q 2 + r 2 , r 2 = r 3 q 3 + r 4 , ⋯ ⋯ r n − 2 = r n − 1 q n + r n ( r n = 1 ) \begin{align*} a&=bq_1+r_1,\\ b&=r_1q_2+r_2,\\ r_2&=r_3q_3+r_4,\\ &\cdots\cdots\\ r_{n-2}&=r_{n-1}q_n+r_n\ (r_n=1)\end{align*}
a b r 2 r n − 2 = b q 1 + r 1 , = r 1 q 2 + r 2 , = r 3 q 3 + r 4 , ⋯⋯ = r n − 1 q n + r n ( r n = 1 )
我们规定,k 0 = 0 , k 1 = 1 k_0=0,\ k_1=1 k 0 = 0 , k 1 = 1 ,然后由递推关系式 k i = k i − 2 − q i k i − 1 ( i = 2 , ⋯ , n ) k_i=k_{i-2}-q_ik_{i-1}\ (i=2,\cdots,n) k i = k i − 2 − q i k i − 1 ( i = 2 , ⋯ , n ) 依次计算出 k 2 , ⋯ , k n k_2,\cdots,k_n k 2 , ⋯ , k n 。根据大衍求一术的算法原理知,r i ≡ a k i ( m o d b ) r_i\equiv ak_i\pmod b r i ≡ a k i ( mod b ) ,于是 b ∣ r i − a k i b\mid r_i-ak_i b ∣ r i − a k i 。特别地,当 i = n i=n i = n 时,b ∣ 1 − a k n b\mid1-ak_n b ∣ 1 − a k n 。我们选取
{ x 0 = k n c y 0 = c ( 1 − a k n ) b \begin{cases} x_0=k_nc \\ y_0=\dfrac{c(1-ak_n)}{b} \end{cases}
⎩ ⎨ ⎧ x 0 = k n c y 0 = b c ( 1 − a k n )
容易检验,x = x 0 , y = y 0 x=x_0,\ y=y_0 x = x 0 , y = y 0 就是不定方程 a x + b y = c ax+by=c a x + b y = c 的一个特解。根据前面的过程,我们可以写出下面算法流程图:
示例:求不定方程 13 x + 74 y = 2 13x+74y=2 13 x + 74 y = 2 的一个特解。
解:因为 gcd ( 13 , 74 ) = 1 \gcd(13,74)=1 g cd( 13 , 74 ) = 1 ,我们对 13 , 74 13,74 13 , 74 用辗转相除法,得
13 = 74 × 0 + 13 , 74 = 13 × 5 + 9 , 13 = 9 × 1 + 4 , 9 = 4 × 2 + 1 , \begin{align*}
13&=74\times0+13,\\ 74&=13\times5+9,\\ 13&=9\times1+4,\\ 9&=4\times2+1, \end{align*}
13 74 13 9 = 74 × 0 + 13 , = 13 × 5 + 9 , = 9 × 1 + 4 , = 4 × 2 + 1 ,
因此 q 2 = 5 , q 3 = 1 , q 4 = 2 q_2=5,\ q_3=1,\ q_4=2 q 2 = 5 , q 3 = 1 , q 4 = 2 。再由递推关系式依次计算得
k 2 = ( − 5 ) × 1 + 0 = − 5 , k 3 = ( − 1 ) × ( − 5 ) + 1 = 6 , k 4 = ( − 5 ) + ( − 2 ) × 6 = − 17. \begin{align*} k_2&=(-5)\times1+0=-5,\\ k_3&=(-1)\times(-5)+1=6,\\ k_4&=(-5)+(-2)\times6=-17. \end{align*}
k 2 k 3 k 4 = ( − 5 ) × 1 + 0 = − 5 , = ( − 1 ) × ( − 5 ) + 1 = 6 , = ( − 5 ) + ( − 2 ) × 6 = − 17.
因此
{ x = ( − 17 ) × 2 = − 34 , y = 2 ( 1 − 13 × ( − 17 ) ) 74 = 6 \begin{cases} x=(-17)\times2=-34,\\ y=\dfrac{2(1-13\times(-17))}{74}=6 \end{cases}
⎩ ⎨ ⎧ x = ( − 17 ) × 2 = − 34 , y = 74 2 ( 1 − 13 × ( − 17 )) = 6
是不定方程 13 x + 74 y = 2 13x+74y=2 13 x + 74 y = 2 的一个特解。
多元一次不定方程
本节以三元一次不定方程为例说明多元一次不定方程的解法。 三元一次不定方程的一般形式为
a x + b y + c z = d (1) ax+by+cz=d\tag{1}
a x + b y + cz = d ( 1 )
其中 a , b , c ∈ Z + , d ∈ Z a,b,c\in\Z^+,\ d\in\Z a , b , c ∈ Z + , d ∈ Z 。
仿照讨论二元一次不定方程的方式,首先看不定方程 (1) 有整数解时,a , b , c , d a,b,c,d a , b , c , d 有什么特征。设 x = x 0 , y = y 0 , z = z 0 x=x_0,\ y=y_0,\ z=z_0 x = x 0 , y = y 0 , z = z 0 是不定方程 (1) 的整数解。因为 gcd ( a , b , c ) ∣ a , gcd ( a , b , c ) ∣ b , gcd ( a , b , c ) ∣ c \gcd(a,b,c)\mid a,\ \gcd(a,b,c)\mid b,\ \gcd(a,b,c)\mid c g cd( a , b , c ) ∣ a , g cd( a , b , c ) ∣ b , g cd( a , b , c ) ∣ c ,所以 gcd ( a , b , c ) ∣ a x 0 + b y 0 + c z 0 = d \gcd(a,b,c)\mid ax_0+by_0+cz_0=d g cd( a , b , c ) ∣ a x 0 + b y 0 + c z 0 = d 。
当 gcd ( a , b , c ) ∣ d \gcd(a,b,c)\mid d g cd( a , b , c ) ∣ d 时,不定方程 (1) 是否一定有整数解呢?
我们记 gcd ( a , b ) = m \gcd(a,b)=m g cd( a , b ) = m ,由于 gcd ( m , c ) = gcd ( a , b , c ) ∣ d \gcd(m,c)=\gcd(a,b,c)\mid d g cd( m , c ) = g cd( a , b , c ) ∣ d ,故二元一次不定方程
m t + c z = d (2) mt+cz=d\tag{2}
m t + cz = d ( 2 )
有整数解,不妨设 t = t 0 , z = z 0 t=t_0,\ z=z_0 t = t 0 , z = z 0 。考虑二元一次不定方程
a x + b y = m t 0 (3) ax+by=mt_0\tag{3}
a x + b y = m t 0 ( 3 )
由于 gcd ( a , b ) = m ∣ m t 0 \gcd(a,b)=m\mid mt_0 g cd( a , b ) = m ∣ m t 0 ,所以不定方程 (3) 有整数解 x = x 0 , y = y 0 x=x_0,\ y=y_0 x = x 0 , y = y 0 。注意到 a x 0 + b y 0 + c z 0 = m t 0 + c z 0 = d ax_0+by_0+cz_0=mt_0+cz_0=d a x 0 + b y 0 + c z 0 = m t 0 + c z 0 = d ,所以 x = x 0 , y = y 0 , z = z 0 x=x_0,\ y=y_0,\ z=z_0 x = x 0 , y = y 0 , z = z 0 是不定方程 (1) 的一组整数解。
综上所述,我们得到不定方程 (1) 有整数解的一个判断准则。
定理 :三元一次不定方程 a x + b y + c z = d ax+by+cz=d a x + b y + cz = d 有整数解的充要条件为 gcd ( a , b , c ) ∣ d \gcd(a,b,c)\mid d g cd( a , b , c ) ∣ d 。
从前面的分析可以看出,当 gcd ( a , b , c ) ∣ d \gcd(a,b,c)\mid d g cd( a , b , c ) ∣ d 时,要求不定方程 (1) 的全部整数解,我们可以先求不定方程 (2) 的整数通解,得到 t t t 和 z z z 的表达式。然后用 t t t 的表达式代替不定方程 (3) 中的 t 0 t_0 t 0 ,求出它的整数通解,得到 x x x 和 y y y 的表达式。最后,联合 x , y x,y x , y 和 z z z 的表达式就给出了不定方程 (1) 的全部整数解。
然而,在实际解题时,我们常常将三元的问题转化为二元问题,即先分别解不定方程 a x + b y = m t ax+by=mt a x + b y = m t 与 m t + c z = d mt+cz=d m t + cz = d ,在解第一个不定方程时,把 t t t 视为给定的整数,这样得到两个整数通解的表达式。联立这两个表达式,消去 t t t 后便得到 x , y x,y x , y 和 z z z 的表达式即为所求。
看一个具体的例子。
示例:求不定方程 5 x − 8 y + 3 z = 2 5x-8y+3z=2 5 x − 8 y + 3 z = 2 的全部整数解。
解:因为 gcd ( 5 , − 8 ) = 1 , gcd ( 5 , − 8 , 3 ) = gcd ( 1 , 3 ) = 1 ∣ 2 \gcd(5,-8)=1,\ \gcd(5,-8,3)=\gcd(1,3)=1\mid2 g cd( 5 , − 8 ) = 1 , g cd( 5 , − 8 , 3 ) = g cd( 1 , 3 ) = 1 ∣ 2 ,所以不定方程有整数解。分别解不定方程 5 x − 8 y = t 5x-8y=t 5 x − 8 y = t 与 t + 3 z = 2 t+3z=2 t + 3 z = 2 ,得到它们的整数通解为
{ x = 5 t + 8 k , y = 3 t + 5 k { t = − 1 − 3 l , z = 1 + l \begin{cases}
x=5t+8k,\\y=3t+5k
\end{cases}\quad
\begin{cases}t=-1-3l, \\z=1+l
\end{cases}
{ x = 5 t + 8 k , y = 3 t + 5 k { t = − 1 − 3 l , z = 1 + l
其中 k , l k,l k , l 为任意整数。联立上面的两个通解表示式,消去 t t t ,便得到原不定方程的全部整数解
{ x = − 5 + 8 k − 15 l y = − 3 + 5 k − 9 l z = 1 + l \begin{cases} x=-5+8k-15l\\ y=-3+5k-9l\\ z=1+l \end{cases}
⎩ ⎨ ⎧ x = − 5 + 8 k − 15 l y = − 3 + 5 k − 9 l z = 1 + l
其中 k , l k,l k , l 为任意整数。
密码学应用
参考文献:高中数学A版选修4-6 初等数论初步