中国剩余定理孙子定理Zhongguo Shengyudingli
关于求解同余式组的定理,是由我国古代数学家孙子发明的。我国古代的《孙子算经》中提出了如下问题:“今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?”。如果用同余式表达。设x为所求的物数, 那么问题可以被写成下面的形式: 解同余式组:
解上述的“物不知其数”问题,或较一般地解同余式组:
它的一般解式为x≡70a+21b+15c (mod105)。关于这个一般解法, 在明朝程大位的 《算法统宗》(1593) 里有以下歌诀:
三人同行七十稀,五树梅花廿一枝,七子团圆正半月,除百零五便得知。
这样,“物不知其数”问题的解是:以70乘以用3除所得的余数,以21乘以用5除所得的余数,以15乘以用7除所得的余数,全加起来,再减去105的倍数,即70×2+21×3+15×2=233,减去105的2倍,得23,这就是所求的物数。
中国剩余定理的一般形式如下:
如果m1m2,……mk是两两互素的k(k≥2)个正整数, 令M=m1m2……mk=m1M1=m2M2=……=mkMk, 那么满足同余式组:
的整数解是
x≡b1M'1M1+b2M'2M2+……+bkM'kMk(modM),这里M'i是满足同余式M'iMi≡1(modm1)
的正整数解, i=1, 2…, k。
例1:在上述“物不知其数问题中”,取m1=3, m2=5, m3=7, b1=a, b2=b, b3=c, 那么M=3×5×
为求M′1, 注意到35≡2mod3, 70≡35×2≡2×2(mod3), 即70≡35×2≡1 (mod3), 可以取M′1=2,类似地可以得到M′2=1, M′3=1, 因此M′1M1=70,M′2M 2=21,M′3M3=15同余式组x≡a (mod3), x≡b (mod5), x≡c (mod7) 的一般解是x≡70a+21b+15c (mod105)。
例2: 一个数除以5余3, 除以6余4, 除以7余1。求适合条件的最小自然数。此题是求适合下列同余式组的最小自然数x:
令m1=5, m2=6, m3=7, 则m1, m2, m3两两互素,
=210/7=30。
❶42≡2mod5,3≡3(mod5),因此126≡6≡1 (mod5), 取M′1=3。
❷35≡5 (mod6), 5≡5(mod6), 因此175≡25≡1(mod6),取M′2=5。
❸30≡2(mod7), 4≡4 (mod7),因此120≡8≡1(mod7),取M′3=4。于是M′1M1=126,M′2M2=175, M′3M3=120, 3×126+4×175+1×120=1198。x≡1198(mod210)是同余式组的一般解,其中1198-210×5=148为满足条件的最小自然数)。