摘 要:通過“古歷會積”的注釋,不僅揭示了推算“上元積年”的兩種方法,再現(xiàn)了一次不定方程組的祖沖之算法,而且明確了“大衍求一術(shù)”、“大衍總數(shù)術(shù)”的原意,糾正了對“古歷會積”的若干誤解。更有科學價值的是,我們找出日月五星(七曜)會合周期的最佳公倍數(shù)是806510日,“太初上元”被確認為公元前248年冬至時。
關(guān)鍵詞:歷法 數(shù)論 大衍法 不定方程組
中圖分類號:P194.3文獻標識碼:A文章編號:1674-098X(2012)04(b)-0247-02
“上元”是歷法授時的基準,又稱為“歷元”。“古人于歷元之外,還要求日月合璧、五星聯(lián)珠,定為上元;于是還要推算七政的周期,使它同時發(fā)生于歷元,作為出發(fā)的始點,起算的開端。后來治歷的人,都沉溺在上元積年的推算,埋頭于各種周期的測驗;所以一部中國歷法史,實際上可以說是上元的演算史。”[1]28
1 選定上元為歷法的基準
若設(shè)古歷的上元至淳祐丙午11月初5冬至(公元1246年12月14日19時26分[6]610)歷過年數(shù)為x,則稱x為上元積年數(shù)(一會積年)。又設(shè)古歷的上元至淳祐丙午11月初9日子時歷過日數(shù)為N(稱為上元積日數(shù))。用現(xiàn)代數(shù)學符號“”或“”表示“是T的整數(shù)倍”(這是本文溝通古今的橋梁)。則題設(shè)(氣)、(朔)、(紀)日滿足方程組:
(1)
其中N、x、y、z都是未知的正整數(shù)。
也就是 (2)
這樣“古歷會積”問題就轉(zhuǎn)化為求不定方程組(1)或(2)的解,也就是如何求上元積年數(shù)x?
2 適當選取新的時間單位(日法),將題設(shè)條件全變?yōu)檎麛?shù)
秦氏取通數(shù)1日=(日法),則
年(氣分),
月(朔分),
甲子(紀分),
剩余
這樣(2)就是
(3)
3 用“大衍總數(shù)術(shù)”將元數(shù)組(4)變成兩兩既約的定數(shù)組
顯然(4)式同解于
(4’)
秦九韶用“大衍總數(shù)術(shù)兩兩連環(huán)求等,約奇弗約偶”[2]2將(4)式直接化為
(5)
其中=487(氣定)、=19(朔定)、=225600(紀定)是兩兩既約的。因此(4)式同解于(5)式的充要條件(這是“總數(shù)術(shù)”不明確之處)是:剩余
(6)
4 應(yīng)用孫子定理即得方程組(5)的通解
,(t為整數(shù)),其中衍母 日(一會積日)年(一會積年)衍數(shù)G0=M/m0(氣奇),G1=M/m1 (朔奇),G2=M/m2(紀奇);
“用大衍求一,各得乘率”[2]15:氣乘率x0=473(見表2),朔乘率x1=5,紀乘率x2=172717。故通解:
=2027467200(氣泛)+549336000(朔泛)
+1598150401(紀泛)
因為有,還可以將通解改記為 (日) (7)
5 將剩余代入(7)式確定上元積年數(shù)
秦九韶是在這最后一步計算出錯,他忽視了剩余必須滿足條件(6)。下面先改用“治歷演紀”中的演紀法(消元法)來解“古歷會積”問題,好和上面的“公式法”比較。
6 用演紀法解“古歷會積” 問題
由(1)式中的兩個不定方程:
直接來求上元積年數(shù)x。算法如下:
將(8)式即的一次項系數(shù)先化為整數(shù):,約去一次項系數(shù)的等數(shù)1461,化為 (8’)
上式當且僅當為整數(shù)時有整數(shù)解,可改記為。
用大衍求一得乘率11,據(jù)性質(zhì)2有 立刻求得(8’)的通解:x=11R+19t,y=136R+235t(t∈Z) (8’’)
再將(8’’)代入(9)式消去變元x:, 將一次項系數(shù)化為整數(shù):。上式當且僅當為整數(shù)時才有整數(shù)解,可改記為:
用大衍求一得乘率77,據(jù)性質(zhì)2有
立刻解得(k∈Z) (9’)
將(9’)代入(8’’)得方程組(8)(9)的通解:
, (10)
若令,k=1代入得的最小公倍數(shù):1520(一會積年)。
題設(shè),,,代入, ,若取,代入(10)式得 ,故歷過年數(shù)為1485(上元積年)。歷過日數(shù) 。故應(yīng)該取剩余, ,。它們滿足條件(6),代入(7)式亦得N=542400。代入(1)式可以驗證:
(會元)
可見“公式法”與“演紀法”(消元法)都是正確的,但消元法比公式法簡單得多。
7 從“日月合璧、五星聯(lián)珠”找出會元數(shù)為806510日
計算“上元積年”的目的是找出上元。但是從1246-1485=-239并不能確定公元前239或240年歲首就是上元。由于年月的精度和日法、剩余的選擇不同,對計算結(jié)果影響極大,我們改從“七曜同宮”入手。天文觀測知道,1962(壬寅)年2月5(甲戌)日(春節(jié),日食)日月五星會聚寶瓶宮,以此為基準,即取。又1961(辛丑)年十一月十五(己丑)日10時20分冬至,即。對(1)式進行大量捜索計算,得到治歷者追求了兩千多年才被我們找到的七曜會合周期的最佳公倍數(shù)是806510日(會元)以及(1)式的解:
(七曜會聚周期)
其中,年;月。且有五星會合周期:木星;火星 ;土星;金星;水星。
因2208-1961=247,據(jù)此推定公元前247年(秦始皇肇位前1年)前12月16(甲申)日晨初朔旦為太初上元。
參考文獻
[1]陳遵嫣.中國古代天文學史[M].1955.
[2]秦九韶.數(shù)書九章(一至五冊)[M].1985.
[3]李迪.通過《數(shù)書九章》探討“綴術(shù)”[C].《中國數(shù)學史論文集》(4)(吳文俊主編),1996.