中国剩余定理
中國剩餘定理,又稱孫子定理或中國餘數定理,是数论中的一個关于一元线性同余方程组的定理,说明了一元线性同余方程组有解的准则以及求解方法。该定理在中国古代也被称为「韓信點兵」、「求一术」(宋 沈括)、「鬼谷算」(宋 周密)、「隔算」(宋 周密)、「剪管術」(宋 杨辉)、「秦王暗點兵」、「物不知數」等。
物不知数
一元线性同余方程组问题最早可见于中國南北朝时期(公元5世纪)的数学著作《孫子算經》卷下第二十六题,叫做“物不知數”问题,原文如下:
有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二。问物几何?
即,一個整數除以三二,除以五三,除以七二,求這個整數。《孫子算經》中首次提到了同余方程组问题,以及以上具体问题的解法,因此在中文数学文献中也会将中国剩余定理称为孙子定理。孫子沒正式證明,但後來印度數學家及天文學家阿耶波多給出具體過程,徹底解決了此定理的任何給定實例。[1]
最初对“物不知数”问题作出完整系统解答的是宋朝数学家秦九韶,载于1247年《数书九章》卷一、二《大衍类》中,从而使这一问题变为定理。明朝数学家程大位在《算法统宗》中将解法编成易于上口的《孙子歌诀》[2]:
三人同行七十稀,五樹梅花廿一支,七子團圓正半月,除百零五便得知
这个歌诀给出了模数为3、5、7时候的同余方程的秦九韶解法。意思是:将除以3得到的余数乘以70,将除以5得到的余数乘以21,将除以7得到的余数乘以15,全部加起来後再减去105或者105的整数倍,得到的数就是答案(除以105得到的余数则为最小答案)。比如说在以上的物不知数问题里面,使用以上的方法计算就得到
因此按歌诀求出的结果就是23。
形式描述
用现代数学的语言来说明的话,中国剩余定理给出了以下的一元线性同余方程组:
有解的判定条件,并用构造法给出了在有解情况下解的具体形式。
中国剩余定理说明:假设整数m1, m2, ... , mn其中任两數互质,则对任意的整数:a1, a2, ... , an,方程组有解,并且通解可以用如下方式构造得到:
- 设是整数m1, m2, ... , mn的乘积,并设,即是除了mi以外的n − 1个整数的乘积。
- 设为模的数论倒数:
- 方程组的通解形式为: 在模的意义下,方程组只有一个解:
证明
从假设可知,对任何,由于,所以 这说明存在整数使得 这样的叫做模的数论倒数。觀察乘积可知:
所以满足:
这说明就是方程组的一个解。
另外,假设和都是方程组的解,那么:
而两两互质,这说明整除. 所以方程组的任何两个解之间必然相差的整数倍。而另一方面,是一个解,同时所有形式为:
的整数也是方程组的解。所以方程组所有的解的集合就是:
例子
使用中国剩余定理来求解上面的“物不知数”问题,便可以理解《孙子歌诀》中的数字含义。这里的线性同余方程组是:
三个模数 m13, m25, m37 的乘积是 M105,对应的 M135, M221, M315. 而可以计算出相应的数论倒数:t12, t21, t31. 所以《孙子歌诀》中的 70、21 和 15 其实是这个“物不知数”问题的基础解:
而将原方程组中的余数相应地乘到这三个基础解上,再加起来,其和就是原方程组的解:
这个和是 233,实际上原方程组的通解公式为:
《孙子算经》中实际上给出了最小正整数解,也就是 时的解:。
交换环上的推广
模不两两互质的同余式组
模不两两互质的同余式组可化为模两两互质的同余式组,再用孙子定理直接求解。
84=22×3×7,160=25×5,63=32×7,由推广的孙子定理可得 与 同解。[3]
以及
,取數論倒數
,因 ,故兩邊可同除以32, 取數論倒數
所以最小正整數解為,通解為。
注意求解过程中应先检查同余式组上是否存在矛盾,存在矛盾的同余式组无解。
参见
- 哈瑟原则
参考资料
- . www.solidot.org. [2021-11-03]. (原始内容存档于2021-11-18).
- 李俨《大衍求一术的过去和未来》《李俨.钱宝琮科学史全集》卷6 121页《程大位的孙子歌》辽宁教育出版社. 1998
- 刘古胜 徐东星 余畅. . 高师理科学刊. 2010, (3) [2014-01-07]. (原始内容存档于2020-03-27).
- 参考书目
- 数学的100个基本问题,靳平 主编,ISBN 7-5377-2171-8