- 首页
- 子藏
- 算法
- 缉古算经
缉古算经
缉古算经
上辑古算经表
臣孝通言:臣闻九畴载叙,纪法著于彝伦;六艺成功,数术参于造化。夫为君上者,司牧黔首,布神道而设教,采能事而经纶,尽性穷源,莫重于算。昔周公制礼,有九数之名。窃寻九数,即《九章》是也。其理幽而微,其形秘而约,重句聊用测海,寸木可以量天,非宇宙之至精,其孰能与于此者?汉代张苍删补残缺,校其条目,颇与古术不同。魏朝刘徽笃好斯言,博综纤隐,更为之注。徽思极毫芒,触类增长,乃造重差之法,列于终篇。虽即未为司南,然亦一时独步。自兹厥后,不断前踪。贺循、徐岳之徒,王彪、甄鸾之辈,会通之数无闻焉耳。但旧经残驳,尚有阙漏,自刘已下,更不足言。其祖恒之《缀术》,时人称之精妙,曾不觉方邑进行之术,全错不通;刍亭方亭之问,于理未尽。臣今更作新术,于此附伸。臣长自闾阎,少小学算。镌磨愚钝,迄将皓首。钻寻秘奥,曲尽无遗。代乏知音,终成寡和。伏蒙圣朝收拾,用臣为太史丞,比年已来,奉敕校勘傅仁均历,凡驳正术错三十余道,即付太史施行。伏寻《九章·商功篇》有平地役功受袤之术,至于上宽下狭、前高后卑,正经之内,阙而不论,致使今代之人不达深理,就平正之门,同欹邪之用。斯乃圆孔方柄,如何可安?臣昼思夜想,临书浩叹,恐一旦瞑目,将来莫睹,遂于平地之余,续狭斜之法,凡二十术,名曰《缉古》。请访能算之人,考论得失,如有排其一字,臣欲谢以千金。轻用陈闻,伏深战悚。谨言。
缉古算经
假今天正十一月朔夜半,日在斗十度七百分度之四百八十。以章岁为母,朔月行定分九千,朔日定小余一万,日法二万,章岁七百,亦名行分法。今不取加时日度。问:天正朔夜半之时月在何处?(推朔夜半月度,旧术要须加时日度。自古先儒虽复修撰改制,意见甚众,并未得算妙,有理不尽,考校尤难。臣每日夜思量,常以此理屈滞,恐后代无人知者。今奉敕造历,因即改制,为此新术。旧推日度之术,巳得朔夜半日度,仍须更求加时日度,然知月处。臣今作新术,但得朔夜半日度,不须加时日度,即知月处。此新术比于旧术,一年之中十二倍省功,使学者易知)
答曰:在斗四度七百分度之五百三十。
术曰(推朔夜半月度,新术不复加时日度,有定小余乃可用之):以章岁减朔月行定分,余以乘朔日定小余,满日法而一,为先行分。不尽者,半法已上收成一,已下者弃之。若先行分满日行分而一,为度分,以减朔日夜半日所在度分,若度分不足减,加往宿度;其分不足减者,退一度为行分而减之,余即朔日夜半月行所在度及分也(凡入历当月行定分,即是月一日之行分。但此定分满章岁而一,为度。凡日一日行一度。然则章岁者,即是日之一日行分也。今按:《九章·均输篇》有犬追兔术,与此术相似。彼问:犬走一百走,兔走七十步,令免先走七十五步,犬始追之,问几何步追及?答曰:二百五十步追及。彼术曰:以兔走减犬走,余者为法。又以犬走乘兔先走,为实。实如法而一,即得追及步数。此术亦然。何者?假令月行定分九千,章岁七百,即是日行七百分,月行九千分。令日月行数相减,余八千三百分者,是日先行之数。然月始追之,必用一日而相及也。令定小余者,亦是日月相及之日分。假令定小余一万,即相及定分,此乃无对为数。其日法者,亦是相及之分。此又同数,为有八千三百,是先行分也。斯则异矣。但用日法除之,即四千一百五十,即先行分。故以夜半之时日在月前、月在日后,以日月相去之数四千一百五十减日行所在度分,即月夜半所在度分也)。
假令太史造仰观台,上广袤少,下广袤多。上下广差二丈,上下袤差四丈,上广袤差三丈,高多上广一十一丈,甲县差一千四百一十八人,乙县差三千二百二十二人,夏程人功常积七十五尺,限五日役台毕。羡道从台南面起,上广多下广一丈二尺,少袤一百四尺,高多袤四丈。甲县一十三乡,乙县四十三乡,每乡别均赋常积六千三百尺,限一日役羡道毕。二县差到人共造仰观台,二县乡人共造羡道,皆从先给甲县,以次与乙县。台自下基给高,道自初登给袤。问:台道广、高、袤及县别给高、广、袤各几何?
答曰:
台高一十八丈
上广七丈,
下广九丈,
上袤一十丈,
下袤一十四丈;
甲县给高四丈五尺,
上广八丈五尺,
下广九丈,
上袤一十三丈,
下袤一十四丈;
乙县给高一十三丈五尺,
上广七丈,
下广八丈五尺,
上袤一十丈,
下袤一十三丈;
羡道高一十八丈,
上广三丈六尺,
下广二丈四尺,
袤一十四丈;
甲县乡人给高九丈,
上广三丈,
下广二丈四尺,
袤七丈;
乙县乡人给高九丈,
上广三丈六尺,
下广三丈,
袤七丈。
术曰:以程功尺数乘二县人,又以限日乘之,为台积。又以上下袤差乘上下广差,三而一,为隅阳幂。以乘截高,为隅阳截积。又半上下广差,乘斩上袤,为隅头幂。以乘截高,为隅头截积。并二积,以减台积,余为实。以上下广差并上下袤差,半之,为正数,加截上袤,以乘截高,所得增隅阳幂加隅头幂,为方法。又并截高及截上袤与正数,为廉法,从。开立方除之,即得上广。各加差,得台下广及上下袤、高。
求均给积尺受广袤,术曰:以程功尺数乘乙县人,又以限日乘之,为乙积。三因之,又以高幂乘之,以上下广差乘袤差而一,为实。又以台高乘上广,广差而一,为上广之高。又以台高乘上袤,袤差而一,为上袤之高。又以上广之高乘上袤之高,三之,为方法。又并两高,三之,二而一,为廉法,从。开立方除之,即乙高。以减本高,余即甲高。此是从下给台甲高。又以广差乘乙高,以本高而一,所得加上广,即甲上广。又以袤差乘乙高,如本高而一,所得加上袤,即甲上袤。其上广、袤即乙下广、袤,台上广、袤即乙上广、袤。其后求广、袤,有增损者,皆放此(此应六因乙积,台高再乘,上下广差乘袤差而一。又以台高乘上广,广差而一,为上广之高。又以台高乘上袤,袤差而一,为上袤之高。以上广之高乘上袤之高,为小幂二。因下袤之高,为中幂一。凡下袤、下广之高,即是截高与上袤与上广之高相连并数。然此有中幂定有小幂一。又有上广之高乘截高,为幂一。又下广之高乘下袤之高,为大幂二。乘上袤之高为中幂一。其大幂之中又小幂一,复有上广、上袤之高各乘截高,为中幂各一。又截高自乘,为幂一。其中幂之内有小幂一。又上袤之高乘截高,为幂一。然则截高自相乘,为幂二,小幂六。又上广、上袤之高各三,以乘截高,为幂六。令皆半之,故以三乘小幂。又上广、上袤之高各三,令但半之,各得一又二分之一,故三之,二而一,诸幂乘截高为积尺)。
求羡道广、袤、高,术曰:以均赋常积乘二县五十六乡,又六因,为积。又以道上广多下广数加上广少袤,为下广少袤。又以高多袤加下广少袤,为下广少高。以乘下广少袤,为隅阳幂。又以下广少上广乘之,为鳖隅积。以减积,余三而一,为实。并下广少袤与下广少高,以下广少上广乘之,鳖从横廉幂。三而一,加隅幂,为方法。又以三除上广多下广,以下广少袤、下广少高加之,为廉法,从。开立方除之,即下广。加广差,即上广。加袤多上广于上广,即袤。加高多袤,即道高。
求羡道均给积尺甲县受广、袤,术曰:以均赋常积乘甲县上十三乡,又六因,为积。以袤再乘之,以道上下广差乘台高为法而一,为实。又三因下广,以袤乘之,如上下广差而一,为都廉,从。开立方除之,即甲袤。以广差乘甲袤,本袤而一,以下广加之,即甲上广。又以台高乘甲袤,本袤除之,即甲高。
假令筑堤,西头上、下广差六丈八尺二寸,东头上、下广差六尺二寸。东头高少于西头高三丈一尺,上广多东头高四尺九寸,正袤多于东头高四百七十六尺九寸。甲县六千七百二十四人,乙县一万六千六百七十七人,丙县一万九千四百四十八人,丁县一万二千七百八十一人。四县每人一日穿土九石九斗二升。每人一日筑常积一十一尺四寸十三分寸之六。穿方一尺得土八斗。古人负土二斗四升八合,平道行一百九十二步,一日六十二到。今隔山渡水取土,其平道只有一十一步,山斜高三十步,水宽一十二步,上山三当四,下山六当五,水行一当二,平道踟蹰十加一,载输一十四步。减计一人作功为均积。四县共造,一日役华。今从东头与甲,其次与乙、丙、丁。问:给斜、正袤与高,及下广,并每人一日自穿、运、筑程功,及堤上、下高、广各几何?
答曰:
一人一日自穿、运、筑程功四尺九寸六分;
西头高三丈四尺一寸,
上广八尺,
下广七丈六尺二寸,
东头高三尺一寸,
上广八尺,
下广一丈四尺二寸,
正袤四十八丈,
斜袤四十八丈一尺;
甲县正袤一十九丈二尺,
斜袤一十九丈二尺四寸,
下广三丈九尺,
高一丈五尺五寸;
乙县正袤一十四丈四尺;
斜袤一十四丈四尺三寸,
下广五丈七尺六寸,
高二丈四尺八寸;
丙县正袤九丈六尺,
斜袤九丈六尺二寸,
下广七尺,
高三丈一尺;
丁县正袤四丈八尺,
斜袤四丈八尺一寸,
下广七丈六尺二寸,
高三丈四尺一寸。
求人到程功运筑积尺,术曰:置上山四十步,下山二十五步,渡水二十四步,平道一十一步,踟蹰之间十加一,载输一十四步,一返计一百二十四步。以古人负土二斗四升八合,平道行一百九十二步,以乘一日六十二到,为实。却以一返步为法。除,得自运土到数也。又以一到负土数乘之,却以穿方一尺土数除之,得一人一日运动积。又以一人穿土九石九斗二升,以穿方一尺土数除之,为法。除之,得穿用人数。复置运功积,以每人一日常积除之,得筑用人数。并之,得六人。共成二十九尺七寸六分,以六人除之,即一人程功也。
求堤上、下广及高、袤,术曰:一人一日程功乘总人,为堤积。以高差乘下广差,六而一,为鳖幂。又以高差乘小头广差,二而一,为大卧堑头幂。又半高差,乘上广多东头高之数,为小卧堑头幂。并三幂,为大小堑鳖率。乘正袤多小高之数,以减堤积,余为实。又置半高差及半小头广差与上广多小头高之数,并三差,以乘正袤多小头高之数。以加率为方法。又并正袤多小头高、上广多小高及半高差,兼半小头广差加之,为廉法,从。开方立除之,即小高。加差,即各得广、袤、高。又正袤自乘,高差自乘,并,而开方除之,即斜袤。
求甲县高、广、正、斜袤,术曰:以程功乘甲县人,以六因取积,又乘袤幂。以下广差乘高差为法除之,为实。又并小头上下广,以乘小高,三因之,为垣头幂。又乘袤幂,如法而一,为垣方。又三因小头下广,以乘正袤,以广差除之,为都廉,从。开立方除之,得小头袤,即甲袤。又以下广差乘之,所得以正袤除之,所得加东头下广,即甲广。又以两头高差乘甲袤,以正袤除之,以加东头高,即甲高。又以甲袤自乘;以堤东头高减甲高,余自乘,并二位,以开方除之,即得斜袤。若求乙、丙、丁,各以本县人功积尺,每以前大高、广为后小高、主廉母自乘,为方母。廉母乘方母,为实母(此平堤在上,羡除在下。两高之差即除高。其除两边各一鳖腝,中一堑堵。今以袤再乘六因积,广差乘袤差而一,得截鳖腝袤,再自乘,为立方一。又堑堵袤自乘,为幂一。又三因小头下广,大袤乘之,广差而一,与幂为高,故为廉法。又并小头上下广,又三之,以乘小头高为头幂,意同六除。然此头幂,本乘截袤。又袤乘之,差相乘而一。今还依数乘除一头幂,为从。开立方除之,得截袤)。
求堤都积,术曰:置西头高,倍之,加东头高,又并西头上下广,半而乘之。又置东头高,倍之,加西头高,又并东头上下广,半而乘之。并二位积,以正袤乘之,六而一,得堤积也。
假令筑龙尾堤,其堤从头高、上阔以次低狭至尾。上广多,下广少,堤头上下广差六尺,下广少高一丈二尺,少袤四丈八尺。甲县二千三百七十五人,乙县二千三百七十八人,丙县五千二百四十七人。各人程功常积一尺九寸八分,一日役毕,三县共筑。今从堤尾与甲县,以次与乙、丙。问:龙尾堤从头至尾高、袤、广及各县别给高、袤、广各多少。
答曰:
高三丈,
上广三丈四尺,
下广一丈八尺,
袤六丈六尺;
甲县高一丈五尺,
袤三丈三尺,
上广二丈一尺;
乙县高二丈一尺,
袤一丈三尺二寸,
上广二丈二尺二寸;
丙县高三丈,袤一丈九尺八寸,
上广二丈四尺。
求龙尾堤广、袤、高,术曰:以程功乘总人,为堤积。又六因之,为虚积。以少高乘少袤,为隅幂。以少上广乘之,为鳖隅积。以减虚积,余,三约之,所得为实。并少高、袤,以少上广乘之,为鳖从横廉幂。三而一,加隅幂,为方法。又三除少上广,以少袤、少高加之,为廉法,从。开立方除之,得下广。加差,即高、广、袤。