歷算全書卷十三
宣城梅文鼎撰
授時平立定三差詳說
太陽行天有盈有縮立成以八十八日九十一刻就整為限者【據盈歷言之】此由測驗而得之也蓋自定氣冬至至定氣春分太陽行天一象限【依古法以九十一度三一奇為象限】該歷九十一日三十一刻有奇而今則不然每於冬至後八十八日九十一刻而太陽已到春分宿度故盈歷以此為限也
夫八十八日九十一刻而行天一象限則於平行之外多行二度四十分奇也是為盈歷之大積差若縮歷即其不及之數必行至九十三日奇而後滿一象限也故縮歷之限多於盈歷日數其積差極數亦與盈歷同但此盈縮之差絶非平派或自多而漸少或由少而漸多何以能得其每日參差之數郭太史立為平立定三差法以齊其不齊可得每日細差及積差其理則出於垜積招差之法也
定差者何曰所測盈縮初日最大之差也凡盈縮末日即同平行其盈縮之最多必在初日今欲求逐日之差必先求初日最大之差以為之凖則故曰定差也既有此最大之差即可以求逐日之差而逐日之差皆以漸而少法當用減故又有平差立差皆減法也然何以謂之平差曰平者平方也其差之增有類平方故以名之也差何以能若平方曰初日以後其盈縮漸減以至於平以常法論之數宜平派即用差分法足矣而合之測驗所得則又非平派也其近初日也所減甚少其近末日也所減驟多假如一日減平差一則二日宜減二而今則二日之平差增為四又初日平差一二日平差四則三日宜為七四日宜為十而今則三日之平差增為九四日增為十六故非平方垜積之加法不足以列其衰序也
然則又何以為立差曰立者立方也差何以又若立方曰以平差合之測驗猶為未足故復設此以益之假如初日減平差一又帶減立差一至二日則平差四而所帶之立差非四也乃八也三限平差九而立差非九也乃二十七也蓋必如此而後與所測之盈縮相應其分為六段何也曰此求差之法也一二日間雖各有盈縮之差然差少則難辨積至半次其差始多而可見矣故各就其盈縮之日匀分之一年二十四定氣分四象限各有六氣故其分亦以六也
既匀分六段矣又以後段連前段何也曰此所謂招差也雖匀分六段其差積仍難細分故惟於初段用本數以其盈縮多而易見也【如盈歷初段積盈七千分是最多而易見也】若末段必帶前段以其盈縮少而難真也【如盈歷末段積差與第五段相減則其本段中只共盈七百四十九分數少難分故連前段論之】借彼易見之差以顯難真之數此立法之意也【以太陽盈差為例他倣此】
然則各段平差不幾混乎曰無慮也凡前多後少之積差合總數而匀分之即得最中之率如第六段之平差即第四十四日之盈加分【以八十八日九二折半得四十四日四六即最中之處其本段平差二百七十餘分與之相應下倣此】第五段之平差即第三十七日之盈加分第四段之平差即二十九日之盈加分第三段之平差即第二十二日之盈加分第二段之平差即第十四日八二之盈加分第一段之平差即第七日四一之盈加分其數各有歸著雖連前段原無牽混也然則又何以有一差二差曰一差者差之較也二差者較之較也曷言乎差之較曰各段平差是盈縮於平行之數也其數初段多而末段少各段一差是相鄰兩限盈縮之較也其數初段少而末段反多然則二者若是其相反歟曰非相反也乃相成也蓋惟其盈縮於平行之數既以漸而減則其盈縮自相差之數必以漸而增其法於前限平差内減次限平差即知前限之盈縮多於後限若干矣而此一差之數原非平派故初限次限之較最少而次限三限之較漸多三限四限之較又多四限五限更多至五限六限則多之極矣其多之極者何也盈縮之數近末限則驟減也此一差之前少後多正所以為盈縮之前多後少也
然則二差又何以有齊數曰不齊者物之情也而不齊之中有所以不齊焉得其所以不齊斯可以齊其不齊矣今各限之一差不齊而前後兩一差相減則仍有齊數為二差是其不齊者差之較而其無不齊者較之較也較之較既為齊數則較數之不齊皆有倫而有脊矣故遂可據之以求定差也
泛平積即用第一段平差何也曰今推定差初日之數也前所推第一段平差則第七日之數也故總第一段言之可曰平差而自初日言之但成泛積泛者對定之辭言必再有加減而後為定率也
二差折半何也曰以分平差立差之實也蓋泛平積差既為初日盈加分多於七日之較則皆此七日中平差立差所積而成之者也而平差之數大立差之數小泛平積之大數皆平差所成而其中有六十九秒【即半二差】則立差所成故分出此數以便各求其數也
平差除一次立差除兩次何也曰此平立之分也除一次者段日本數為法也除兩次者段日自乘為法也於是再以段日乘之則本數者如平方之自乘自乘者如立方之再乘矣
平立合差何也曰次限少於初限之差也内有兩平差六立差之共數故謂之合差【如盈歷以二分四十六秒為平差三十一微為立差今倍平差得四分九十二秒加入加分立差一秒八十六微共得四分九十三秒八十六微為平立合差是有兩平差六立差之數蓋加分立差原是六個立差也】
定差内又減一平差一立差為初日加分何也曰此初日加分之積少於定差之數也既以定差為初日加分矣而積又減此何也曰以定差為初日加分者乃初日最初之率也積滿一日則平差立差各有所減而特其減甚微故各祗一數如平方立方之起數以一也是故此一平差一立差者即初日平立合差也
初日之平立合差何獨少耶曰准於平方立方之加法正相應也蓋平方幂積以自乘之積為等【其數一四九十六二十五三十六四九六四八一也】立方體積以再乘之積為等【其數一八二十七六四百二十五二一六三四三五一二也】而平立合差之數亦如之
是故初日之盈縮積是於定差内減一平差一立差如平方立方之根一者積亦一也
次日之盈縮積是於二定差内減四平差八立差 如方根二者平積必四立積必八也
三日之盈縮積是於三定差内減九平差二十七立差如方根三者平積必九立積二十七也
四日之盈縮積是於四定差内減十六平差六十四立差如方根四者平積必十六立積必六十四也
向後各限並同此推合而言之即皆逐日之平立合差也然則以一平差一立差較次日之四平差八立差固為小矣而以四平差八立差較三日之九平差二十七立差不更小乎何况以三較四則為九平差二十七立差與十六平差六十四立差其相差不更懸絶乎問次日之平立合差只兩平差六立差而今又云四平差八立差三日以後之平立合差只遞增六立差【逐日遞增加分立差一秒八十六微是六個立差之數】而今所云者三日有平差九立差二十七其說之不同如此必有一誤矣曰差之積類於平方立方者是總計其所減之數而每加加分立差者是分論其逐日所減之數也欲明此理仍當求諸少廣【少廣者開方法也】
今夫平方以一四九十六二十五等為序者其幂積也若分而言之以一三五七九為序者其廉隅也【以相挨兩平幂相減即得廉隅如一與四相減得三四與九相減得五九與十六相減得七十六與二十五相減得九是也】廉隅即較也而遞增以二數者較之較也【一三五七九皆遞增以二】今夫立方以一八二七六四一二五為序者其體積也若分而言之以七十九三七六一為序者其廉隅也【亦以相挨兩體積相減得之如一減八得七八減廿七得十九廿七減六十四得三十七六十四減一百二十五得六十一是也】廉隅即較也而遞增以六者較之較也【一增六得七七增二六得十九十九增三六得三十七三十七增四六得六一】是故平立差之總積是初日以來所積之差也亦如平立方之幂積體積也平立差之加法是逐日遞增之較也亦如平立方之廉隅也
合初日以來之加分【即盈縮積度】與定差較則其差如平立方之幂積體積也【平差之序一四九十六二十五 立差之序一八二十七六四一二十五】若以本日之加分與定差較則其差如平立方之廉隅也【平差之序一三五七九 立差之序七十九三十七六十一】
若以本日之平立合差與初日較如平立方之廉積【平差之增二四六八立差之增六十八三十六六十】若以相近兩日之平立合差自相較如平立方之廉積相較【平差之遞增皆二立差之遞增以六而再增十二為二六再增十八為三六再增二十四為四六也】於定差内減平差立差各一為初日加分
又於初日加分内減去二平差六立差是共減平差四【本日實減三合初日所減之一則四】立差八【本日實減七合初日所減之一則八】而為次日加分也
又於次日平立合差内加入六立差為平立合差【共二平差十二立差】以減次日加分是共減去平差九【本日實減平差五合前兩日所減四共九】立差二十七【本日實減立差十九合前日所減之八則二十七】而為三日加分也
又於三日之平立合差内加六立差為平立合差【共二平差十八立差】以減三日加分是共減去平差十六【本日實減平差七合前三日所減之九則十六】立差六十四【本日實減立差三十七合前三日所減之二十七則六十四】而為四日加分也
故曰合初日以來之加分與定差較其差如平立方之幂積體積而以本日之加分【即本日實減數】與定差較則如廉隅也
若論布立成法則不言定差但以初日加分為根以平立合差減初日加分為次日加分是於初日加分内減二平差六立差也
又以六立差倂入平立合差以減次日加分為三日加分是於次日加分内又減二平差十二立差於初日加分則為減四平差十八立差也
又如上法再增六立差以減三日加分為四日加分是於三日加分内又減二平差十八立差於初日加分内則為減六平差三十六立差也
故曰以平立合差與初日較若平立方之廉積而以相近兩日自相較如平立方之廉積相較也
平方二廉故相加以二立方六廉故相加以六此倍平差六因立差為平立合差之理也平方之相加以二者始終不變立方之相加以六者每限遞增此向後立差遞增六數之理也
盈縮招差圖說
盈縮招差本為各一象限之法【如盈歷則以八十八日九十一刻為象限縮歷則以九十三日七十一刻為象限】今只作九限者舉此為例也其空格九行定差本數為實也其斜線以上平差立差之數為法也斜線以下空格之定差乃餘實也
假如定差為一萬平差為一百立差為單一今求九限法以九限乘平差得九百又以九限乘立差二次得八十一並兩數九百八十一為法定差一萬為實法減實餘實九千○一十九即九限末位所書之定差也於是再以九限為法乘餘實得八萬一千一百七十一為九限積數
本法以九限乘定差得九萬為實另置平差以九限乘二次得八千一百置立差以九限乘三次得七百二十九並兩數得八千八百二十九為法以減實九萬得八萬一千一百七十一為九限積與前所得同
本法是先乘後減用法是先減後乘其理一也
初日減平差一庚也次日又減平差二甲也實減三並甲庚也合廉隅矣並計初日共減四合平方幂矣第三日又多減平差二乙也實減五並二甲二乙一庚也合廉隅矣並計前兩日共減九合平方幂矣第四日以後倣此推之
<子部,天文算法類,推步之屬,歷算全書,卷十三>
中心甲一為初限所減立差即垜積形之頂
加外圍六乙共七為次限所減立差平廉長廉各三隅一也並上層甲共八成根二之體積是為垜積形之第二層
又加外圍丙十二共十九為三限所減立差三平廉共十二三長廉共六隅一也並上兩層共二十七合根三之體積是為垜積形之第三層
又加外圍丁十八共三十七為四限所減立差三平廉共二十七三長廉共九隅一也並上三層共六十四合根四體積是為垜積形之第四層
又加外圍戊二十四共六十一為五限所減立差三平廉共四十八三長廉十二隅一也並上三層共一百二十五合根五之體積是為垜積之第五層
又加巳三十共九十一為六限立差其七十五為三平廉其十五為三長廉其一隅也並上層共二百一十六成體積是為垜積之第六層
又加庚三十六共一百二十七為七限立差其百○八為三平廉其十八為三長廉其一隅也並上層成體積三百四十三是為垜積之第七層
又加辛四十二共一百六十九為八限立差其百四十七為三平廉其二十一為三長廉其一隅也並上層共五百一十二如體積是為垜積之第八層
此姑以八層為式向後倣此推之 因從甲頂平視故類六角平面其實如六角錐也立方廉隅而圖以錐形六角者以表其垜積招差之理也 甲恒為隅朱書者長廉餘則平廉立方之平廉長廉各三離居三方則成六角 六觚形以六抱一每層增六與立方加法同所異者六觚平面而立方必并其積故以堆垜象之 若算六角堆垜但取其底之一面自乘再乘見積與立方同
以斜立面觀之最上甲一次乙二次丙三丁四戊五己六庚七辛八其底之數各如其層之數【如堆只三層則以三丙為底四層則四丁為底每多一層其各面之底必多一數若辛下再加一層為壬必九數也】
實計其每面六觚之數則甲一乙七丙十九丁三十七戊六十一己九十一庚一百二十七辛一百六十九【前平視之圖乙為甲掩故但見外圍之六丙為乙掩故但見外圍十二餘皆若是也觀者當置身於高處從甲頂俯視即得其理】皆以外圍之數為下層多於上層之數
合計其堆垜之積則甲一乙八丙二十七丁六十四戊一百二十五己二百一十六庚三百四十三辛五百一十二【乙七並甲一成八丙十九並乙七甲一成二十七餘皆若是】其堆垜之積皆如其層數之立方【以底之一面餘乘又以層數乘之也】
問平差之根是以段日除積差而得則每日適得一平差今所減平差甚多殆非實數曰泛平積差是初日多於第七日之數【亦據盈歷言之】而平差之數既如段日則於日數為加倍【盈歷段日十四日奇以此分積差為每日平差則平差共數亦十四奇於七日為加倍】今倍減平差正合積差原數豈患其多
曰若然又何以能合平方曰以本日實減之數與定差較但取其銷盡積差已足【如第七日實減十三平差第八日實減十五平差七日有奇在其中半積差必當減盡】故其法若平方之廉隅若合計初日以來減過平差與初日以來定差相較則所減之積皆如平方自乘觀圖自明【如七日共數得四十九八日共數得六十四之類】
又如立差以段日自乘除泛立積差而得故其數亦略如段日之自乘而每日實減亦如立方之廉隅聊足以銷去積差【本日尚有餘秒後一日奇減盡】若合計初日以來共數則亦如立方再乘之積矣
右圖以九限為例【九限以後倣論】定差設十萬平差設一千立差設單一如法以本日加法并之為平立合差【如圖平差立差各有加法故當並用】以平立合差減先日加分得本日加分合計從前加分為本日盈縮積【或以本日加分加先日盈縮積得本日盈縮積亦同】
又簡法
置定差内減平差立差各一為初日加分【又即為第一日盈縮積】别置平差倍之加入六立差為初日平立合差以後每於平立合差内加入六立差為次日平立合差【餘同上】
用定差法
以日數乘立差得數加入平差再以日數乘之得數乃置定差以得數減之用其餘為實復以日數乘之得本日盈縮積
置相近兩盈縮積相減得加分又置相近兩加分相減得平立合差亦同
定差本法
置定差以日數乘之得數為實又以日數自乘用乘平差得數以日數再自乘用乘立差得數平立兩得數并之為法法減實得盈縮積【餘同上】
歷算全書卷十三
序
歷元起冬至其來舊矣易復卦傳曰先王以至日閉關商旅不行后不省方孟子曰天之高也星辰之遠也苟求其故千歲之日至可坐而致故古來治歷者其立算並起冬至夫有所受之也欲驗將來必推已往所謂求其故也秦炬以前古術難徵惟春秋左氏傳僖公五年春王正月辛亥朔日南至公既視朔遂登觀臺以望而書此冬至之有日名灼然可據者自漢以後漸講於測景之法然測景最難真確載在史書可信者不過數十條故元時許衡王恂郭守敬等造授時歷據之以考歷法之疎密也古今歷法七十餘家皆由疎以至密必取其最密者以相參考而其說始定是故唐歷莫善於大衍其次莫善於宣明宋歷莫善於紀元尤莫善於統天金歷莫善於趙知微而授時歷集其大成故以此六家互相稽考也今依其本法求之則合於當時者或戾於古合於古者又不效於今惟授時統天能上考下求而多所合由是觀之歷學之古疎今密約畧可見而歲起冬至則歲實之古大今小較然不誣即統天授時上考下求百年消長之法亦自有據並可以深思而得其故矣【按百年消長之法統天歷術中已暗藏其數至授時乃發明之郭太史自言創法五端原未及此】元史歷議已具錄六歷所得日名離合之端然未詳算法茲特各依其本法詳衍使學歷者攷焉宣城梅文鼎