几道中国剩余定理例题

        中国剩余定理,又名孙子定理、中国余数定理,得名于中国古代数学家孙子在《孙子算经》中首次提到的一次同余方程组问题及其解法。原文如下:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?即,一个整数除以三余二,除以五余三,除以七余二,求这个整数。而那句为大家所熟知的《孙子歌诀》则是由明朝数学家程大位根据秦九韶解法编成的:

 

三人同行七十稀,五树梅花廿一支,七子团圆月正半,除百零五使得知。

歌诀的意思是:将这个数除以3得到的余数乘以70,除以5得到的余数乘以21,除以7得到的余数乘以15,全部加起来后除以105,得到的余数(23)就是答案。

        定理:设m_1,m_2,...,m_k是k个两两互素的正整数,m=m_1 \times m_2 \times... \times m_kM_i=m/m_i(1\le i\le k),则同余式组

\left\{ \begin{aligned} x\equiv a_1 \ mod\ m_1\\ x\equiv a_2 \ mod\ m_2\\ \vdots \qquad \quad \vdots \qquad\\ x\equiv a_k \ mod\ m_k \\ \end{aligned} \right.    有唯一解:x \equiv M_1^{'}M_1a_1+M_2^{'}M_2a_2 +\cdots +M_k^{'}M_ka_k (mod\ m),其中M_i^{'}是满足条件M_1^{'}M_1 \equiv1 \mod m_i(1\le i \le k)的整数,即求M_i的逆元。

例1:孙子算经中的原题

\left\{ \begin{aligned} x\equiv2 \ mod\ 3 \\ x\equiv3 \ mod\ 5 \\ x\equiv2 \ mod\ 7 \\ \end{aligned} \right., 可得:  \left\{ \begin{aligned} m_1 = 3\\ m_2 = 5 \\ m_3 = 7 \end{aligned} \right.\left\{ \begin{aligned} a_1 = 2\\ a_2 = 3 \\ a_3 = 2 \end{aligned} \right..

这里m_1,m_2,m_3互素,因此无需化简,已经满足应用中国剩余定理的条件。

同余方程组的模m = m_1 \times m_2 \times m_3 = 105

\left\{ \begin{aligned} M_1 = 105/3 = 35\\ M_2 = 105/5 = 21\\ M_3 = 105/7 = 15 \end{aligned} \right. ,由扩展欧几里得算法,得\left\{ \begin{aligned} M_1^{'} = 2\\ M_2^{'} = 1\\ M_3^{'} = 1 \end{aligned} \right.

\therefore x \equiv 2 \times 35 \times 2 + 3 \times 21 \times 1 + 2 \times 15 \times 1 \equiv 233 \equiv23(mod\ 105)

即“问物几何?”答案为23。

        值得注意的是,应用中国剩余定理解一次同余式组是有前提条件的,即“m_1,m_2,...,m_k是k个两两互素的正整数”成立,那对于不符合这一条件的一次同余式组,如何解决呢?

        数学中最重要的核心思想之一就是化未知为已知,我们只要把不满足条件的同余式“处理”成符合条件的同余式,问题不就又转化为用中国剩余定理解同余式组了么?

        这里引入几个定理:

1.设a,m为正整数,m>1,(a,m)=1,则同余式ax\equiv b\ mod \ m恰有唯一解:x \equiv ba^{\varphi(m)-1} mod \ m

2.设a,m为正整数,m>1,(a,m)=d,则同余式ax\equiv b\ mod \ m有解,当且仅当d|b时,解为t_0+i \times \frac{m}{d} (i=0,1,2, \cdots\,d-1)t_0是 \frac{a}{b}x \equiv\frac{b}{d} \ mod\ \frac{m}{d} 的唯一解。

3.同余的基本性质之一:如果a \equiv b \ mod \ m_1a \equiv b \ mod \ m_2(m_1,m_2)=1,                          则a \equiv b \ mod \ m_1 m_2

其中1,2给出了求ax\equiv b\ mod \ m的全部解的一般办法,3给出了“拆”不互素的m_i的办法。

        具体来说,再看一道例题:

例2:9x \equiv12 \ mod \ 15

\because \ (9,15)=3,3|12,\therefore d = 3,\frac{m}{d}=5,由定理2可知,9x \equiv12 \ mod \ 15有3个解,分别是\left\{ \begin{aligned} x = t_0 \ mod \ 15\\ x = t_0+ 5\ mod \ 15 \\ x = t_0 + 10 \ mod \ 15 \end{aligned} \right.t_03x \equiv4 \ mod \ 5的唯一解,由定理1可知,t_0=3,故同余式解为\left\{ \begin{aligned} x \equiv 3 \ mod \ 15\\ x \equiv 8 \ mod \ 15 \\ x \equiv 13\ mod \ 15 \end{aligned} \right. .

这是利用了定理1,2解决了x前面系数不为1的情况,不过这种情况在一次同余式组中并不常见。

        更常见的是下面这种情况:x系数均为1,但是模数不互素,这需要我们熟练应用定理3的推论。

例3:

\left\{ \begin{aligned} x \equiv 1 \ mod \ 6\\ x \equiv 4 \ mod \ 9 \\ x \equiv 7\ mod \ 15 \end{aligned} \right.

啧,这个同余式组的3个模数两两之间都不互素,该怎么转化呢?

我们先从两个不是完全平方数的数开始处理,因为它们看起来没有完全平方数那么“特殊”。那么,x \equiv 1 \ mod \ 6 就可以转化为 \left\{ \begin{aligned} x \equiv 1 \ mod \ 2\\ x \equiv 1 \ mod \ 3 \end{aligned} \right.,而 x \equiv 7 \ mod \ 15 可以转化为 \left\{ \begin{aligned} x \equiv 7 \ mod \ 3\\ x \equiv 7 \ mod \ 5 \end{aligned} \right. ,即\left\{ \begin{aligned} x \equiv 1 \ mod \ 3\\ x \equiv 2 \ mod \ 5 \end{aligned} \right.,这样我们目前就把\left\{ \begin{aligned} x \equiv 1 \ mod \ 6\\ x \equiv 4 \ mod \ 9 \\ x \equiv 7\ mod \ 15 \end{aligned} \right. 转化成了 \left\{ \begin{aligned} x \equiv 1 \ mod \ 2\\ x \equiv 1 \ mod \ 3 \\ x \equiv 2 \ mod \ 5 \\ x \equiv 4 \ mod \ 9 \end{aligned} \right. ,距离标准的、孙子定理能够解决的一次同余式组只有一步之遥了。

乍一看,你可能会说:啊哈!x \equiv 4 \ mod \ 9 可以拆成 x \equiv 4 \ mod \ 3 ,也就是 x \equiv 1 \ mod \ 3,这简直不要太简单哦...

且慢,这样处理真的没有问题吗?换句话说,满足x \equiv 1 \ mod \ 3 的 x 一定满足x \equiv 4 \ mod \ 9吗?举个简单的例子,x = 7 显然满足x \equiv 1 \ mod \ 3,但是 x = 7 并不是x \equiv 4 \ mod \ 9 的解。这样处理不是没有问题,而是出大问题!

啊哦,那咋办呢?

分析一下问题,我们这一步转化的目的无非就是在x \equiv 4 \ mod \ 9和 x \equiv 1 \ mod \ 3之中去掉一个。刚刚的经验告诉我们,这一步操作得依据集合论,即把条件比较强、解集比较小的那个等式留下。所以我们应该把x \equiv 1 \ mod \ 3 去掉,最终我们要解的一次同余式组就是\left\{ \begin{aligned} x \equiv 1 \ mod \ 2 \\ x \equiv 2 \ mod \ 5 \\ x \equiv 4 \ mod \ 9 \end{aligned} \right. .

这时,我们终于可以运用中国剩余定理了,解得 x \equiv 67 \ mod \ 90,感兴趣的读者可以验算一下。

由此,我们得到了一个很重要的结论:一次同余式组中出现模数为完全平方数的同余式的时候,这一同余式不能被“约去”!

         一次同余式组问题作为数论的重要组成部分,是学习密码学必不可少的基础知识。实际上,解高次同余式组的基本思想也是将高次同余式的模数分解,将模数较大的同余式的求解问题转化为模数相对小的一组同余式的求解问题,然后利用中国剩余定理来求解。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值