中国剩余定理(四)
2014-12-25刘玮
刘玮
皓天:“你跟我讲讲什么是同余式。”鹏飞和皓天开始讨论同余式。
就好比4和7被3除余数都是1,4和7对3是同余的。如果两个数,比如a和b被m除的余数相同,我们就说a和b对模m同余,记作:
a ≡ b(modm)
通常b 对于孙子定理,“物不知数”:用3除余2,用5除余3,用7除余2。把这个未知数用同余式可写成: N ≡ 2(mod3) N ≡ 3(mod5) N ≡ 2(mod7) 先设法将余数化为1,即得: N1 ≡ 1(mod3) N2≡ 1(mod5) N3 ≡ 1(mod7) 由上式可知,需要找一个数用3除余1且又是5和7的公倍数: 5×7n1 ≡ 1(mod3) 即: 35n1 ≡ 1(mod3) 这里n1 = 2,则N1 = 70。其中的35这个数是计算过程中要照顾另两个条件而衍生出来的数,叫衍数,之后衍数还要被乘以题中的余数2而放大成70。放大衍数的目的是为了找到除3余1的数,所以这个方法被秦九韶称作“大衍求一术”。 秦九韶创造的“大衍求一术”,开创了系统的一般一次同余式组解法的先河。在中世纪,它不仅代表了中国数学的最高成就,即使在当时的世界领域中也是处于最先进的水平,比西方同类解法早500多年。 “物不知数”题流传到国外,意大利数学家斐波那契在其《算盘书》中就引用了该题。到18世纪初,该题又辗转到欧洲,“数学王子”高斯对一次同余式组进行研究,在其著作《算术研究》中给出了它的一般性解法,并将这种解法命名为“高斯定理”。而高斯解法符合“大衍求一术”,之后欧洲人便将“高斯定理”改为“中国剩余定理”。秦九韶的“大衍求一术”在数学史上有着不可动摇的领先地位,甚至在当代的电子计算机设计中也用到了。 “中国人也这么厉害啊!我为此感到无比自豪。”皓天由衷地佩服秦九韶,“说了半天,我早饿了,咱们先吃点东西吧。” “这旁边就有美食小吃,” 鹏飞向店家招了招手,“请把你们的特色小吃每样都来一份!” 他俩一边聊着“中国剩余定理”,一边欣赏着周围美景。清秀的村庄三面环山一面临水,湖光山色,景色宜人。湖水清澈见底,湖中还有几对鸭子在嬉戏…… “看!那边来了位村姑,她端了那么大的一个重筐。” 村姑是来湖边洗碗的,皓天走过去和她搭讪道:“怎么会要洗这么多碗?你家里来了很多客人吗?” 村姑说:“是啊,两个客人共用一碗饭,三个客人共用一碗汤,五个人共食一碗肉,不知道客人有多少。” 鹏飞:“那你告诉我你要洗多少碗。” “嘿嘿!我也不清楚呢。” 村姑一边洗碗一边说,“刚才我两个两个地数不多不少正好点完,三个三个地数就多出两个,五个五个地数也多出两个。我家几多客人几多碗?” “咳!总共不足100个碗还来考我们!”鹏飞来了兴致,“用不定方程!” 皓天也喊道:“‘大衍求一术!” 他们各自快速动手算了起来。鹏飞设x个客人,用了y只碗,则有: x/2 + x/3 + x/5 = y 化简得: 31x = 30y 皓天将表中数据换上新数后往下算(请在下表里填上),然后向那村姑说道:“你家来了60个客人,用了62个碗,对吗?” 村姑:“你真聪明!告诉我你是怎么算出来的?” 皓天学着程大位的样子喃喃念道:“两个吃货一壶茶,三山给水十只鸭;五颜六色山海味,吃上一月再回家。” “妙!妙!”村姑连连称赞,“你答对了。” 鹏飞也乐不思蜀了:“好!吃上一月再回家!”