国学宝典
富强富国热爱祖国,做一个对社会有用的人
当前位置: 汉程网> 国学> 缉古算经> 缉古算经

《缉古算经》·缉古算经

唐朝 缉古算经 王孝通 著

假今天正十一月朔夜半,日在斗十度七百分度之四百八十。以章岁为母,朔月行定分九千,朔日定小余一万,日法二万,章岁七百,亦名行分法。今不取加时日度。问:天正朔夜半之时月在何处?(推朔夜半月度,旧术要须加时日度。自古先儒虽复修撰改制,意见甚众,并未得算妙,有理不尽,考校尤难。臣每日夜思量,常以此理屈滞,恐后代无人知者。今奉敕造历,因即改制,为此新术。旧推日度之术,巳得朔夜半日度,仍须更求加时日度,然知月处。臣今作新术,但得朔夜半日度,不须加时日度,即知月处。此新术比于旧术,一年之中十二倍省功,使学者易知)

  答曰:在斗四度七百分度之五百三十。

  术曰(推朔夜半月度,新术不复加时日度,有定小余乃可用之):以章岁减朔月行定分,余以乘朔日定小余,满日法而一,为先行分。不尽者,半法已上收成一,已下者弃之。若先行分满日行分而一,为度分,以减朔日夜半日所在度分,若度分不足减,加往宿度;其分不足减者,退一度为行分而减之,余即朔日夜半月行所在度及分也(凡入历当月行定分,即是月一日之行分。但此定分满章岁而一,为度。凡日一日行一度。然则章岁者,即是日之一日行分也。今按:《九章·均输篇》有犬追兔术,与此术相似。彼问:犬走一百走,兔走七十步,令免先走七十五步,犬始追之,问几何步追及?答曰:二百五十步追及。彼术曰:以兔走减犬走,余者为法。又以犬走乘兔先走,为实。实如法而一,即得追及步数。此术亦然。何者?假令月行定分九千,章岁七百,即是日行七百分,月行九千分。令日月行数相减,余八千三百分者,是日先行之数。然月始追之,必用一日而相及也。令定小余者,亦是日月相及之日分。假令定小余一万,即相及定分,此乃无对为数。其日法者,亦是相及之分。此又同数,为有八千三百,是先行分也。斯则异矣。但用日法除之,即四千一百五十,即先行分。故以夜半之时日在月前、月在日后,以日月相去之数四千一百五十减日行所在度分,即月夜半所在度分也)。

  假令太史造仰观台,上广袤少,下广袤多。上下广差二丈,上下袤差四丈,上广袤差三丈,高多上广一十一丈,甲县差一千四百一十八人,乙县差三千二百二十二人,夏程人功常积七十五尺,限五日役台毕。羡道从台南面起,上广多下广一丈二尺,少袤一百四尺,高多袤四丈。甲县一十三乡,乙县四十三乡,每乡别均赋常积六千三百尺,限一日役羡道毕。二县差到人共造仰观台,二县乡人共造羡道,皆从先给甲县,以次与乙县。台自下基给高,道自初登给袤。问:台道广、高、袤及县别给高、广、袤各几何?

  答曰:

  台高一十八丈

  上广七丈,

  下广九丈,

  上袤一十丈,

  下袤一十四丈;

  甲县给高四丈五尺,

  上广八丈五尺,  下广九丈,

  上袤一十三丈,  下袤一十四丈;

  乙县给高一十三丈五尺,

  上广七丈,  下广八丈五尺,

  上袤一十丈,

  下袤一十三丈;

  羡道高一十八丈,

  上广三丈六尺,

  下广二丈四尺,

  袤一十四丈;

  甲县乡人给高九丈,

  上广三丈,

  下广二丈四尺,  袤七丈;

  乙县乡人给高九丈,  上广三丈六尺,  下广三丈,  袤七丈。

  术曰:以程功尺数乘二县人,又以限日乘之,为台积。又以上下袤差乘上下广差,三而一,为隅阳幂。以乘截高,为隅阳截积。又半上下广差,乘斩上袤,为隅头幂。以乘截高,为隅头截积。并二积,以减台积,余为实。以上下广差并上下袤差,半之,为正数,加截上袤,以乘截高,所得增隅阳幂加隅头幂,为方法。又并截高及截上袤与正数,为廉法,从。开立方除之,即得上广。各加差,得台下广及上下袤、高。

  求均给积尺受广袤,术曰:以程功尺数乘乙县人,又以限日乘之,为乙积。三因之,又以高幂乘之,以上下广差乘袤差而一,为实。又以台高乘上广,广差而一,为上广之高。又以台高乘上袤,袤差而一,为上袤之高。又以上广之高乘上袤之高,三之,为方法。又并两高,三之,二而一,为廉法,从。开立方除之,即乙高。以减本高,余即甲高。此是从下给台甲高。又以广差乘乙高,以本高而一,所得加上广,即甲上广。又以袤差乘乙高,如本高而一,所得加上袤,即甲上袤。其上广、袤即乙下广、袤,台上广、袤即乙上广、袤。其后求广、袤,有增损者,皆放此(此应六因乙积,台高再乘,上下广差乘袤差而一。又以台高乘上广,广差而一,为上广之高。又以台高乘上袤,袤差而一,为上袤之高。以上广之高乘上袤之高,为小幂二。因下袤之高,为中幂一。凡下袤、下广之高,即是截高与上袤与上广之高相连并数。然此有中幂定有小幂一。又有上广之高乘截高,为幂一。又下广之高乘下袤之高,为大幂二。乘上袤之高为中幂一。其大幂之中又小幂一,复有上广、上袤之高各乘截高,为中幂各一。又截高自乘,为幂一。其中幂之内有小幂一。又上袤之高乘截高,为幂一。然则截高自相乘,为幂二,小幂六。又上广、上袤之高各三,以乘截高,为幂六。令皆半之,故以三乘小幂。又上广、上袤之高各三,令但半之,各得一又二分之一,故三之,二而一,诸幂乘截高为积尺)。

  求羡道广、袤、高,术曰:以均赋常积乘二县五十六乡,又六因,为积。又以道上广多下广数加上广少袤,为下广少袤。又以高多袤加下广少袤,为下广少高。以乘下广少袤,为隅阳幂。又以下广少上广乘之,为鳖隅积。以减积,余三而一,为实。并下广少袤与下广少高,以下广少上广乘之,鳖从横廉幂。三而一,加隅幂,为方法。又以三除上广多下广,以下广少袤、下广少高加之,为廉法,从。开立方除之,即下广。加广差,即上广。加袤多上广于上广,即袤。加高多袤,即道高。  求羡道均给积尺甲县受广、袤,术曰:以均赋常积乘甲县上十三乡,又六因,为积。以袤再乘之,以道上下广差乘台高为法而一,为实。又三因下广,以袤乘之,如上下广差而一,为都廉,从。开立方除之,即甲袤。以广差乘甲袤,本袤而一,以下广加之,即甲上广。又以台高乘甲袤,本袤除之,即甲高。  假令筑堤,西头上、下广差六丈八尺二寸,东头上、下广差六尺二寸。东头高少于西头高三丈一尺,上广多东头高四尺九寸,正袤多于东头高四百七十六尺九寸。甲县六千七百二十四人,乙县一万六千六百七十七人,丙县一万九千四百四十八人,丁县一万二千七百八十一人。四县每人一日穿土九石九斗二升。每人一日筑常积一十一尺四寸十三分寸之六。穿方一尺得土八斗。古人负土二斗四升八合,平道行一百九十二步,一日六十二到。今隔山渡水取土,其平道只有一十一步,山斜高三十步,水宽一十二步,上山三当四,下山六当五,水行一当二,平道踟蹰十加一,载输一十四步。减计一人作功为均积。四县共造,一日役华。今从东头与甲,其次与乙、丙、丁。问:给斜、正袤与高,及下广,并每人一日自穿、运、筑程功,及堤上、下高、广各几何?

  答曰:

  一人一日自穿、运、筑程功四尺九寸六分;

  西头高三丈四尺一寸,

  上广八尺,

  下广七丈六尺二寸,

  东头高三尺一寸,  上广八尺,

  下广一丈四尺二寸,

  正袤四十八丈,  斜袤四十八丈一尺;

  甲县正袤一十九丈二尺,

  斜袤一十九丈二尺四寸,

  下广三丈九尺,

  高一丈五尺五寸;

  乙县正袤一十四丈四尺;

  斜袤一十四丈四尺三寸,

  下广五丈七尺六寸,

  高二丈四尺八寸;

  丙县正袤九丈六尺,

  斜袤九丈六尺二寸,

  下广七尺,

  高三丈一尺;

  丁县正袤四丈八尺,

  斜袤四丈八尺一寸,

  下广七丈六尺二寸,

  高三丈四尺一寸。

  求人到程功运筑积尺,术曰:置上山四十步,下山二十五步,渡水二十四步,平道一十一步,踟蹰之间十加一,载输一十四步,一返计一百二十四步。以古人负土二斗四升八合,平道行一百九十二步,以乘一日六十二到,为实。却以一返步为法。除,得自运土到数也。又以一到负土数乘之,却以穿方一尺土数除之,得一人一日运动积。又以一人穿土九石九斗二升,以穿方一尺土数除之,为法。除之,得穿用人数。复置运功积,以每人一日常积除之,得筑用人数。并之,得六人。共成二十九尺七寸六分,以六人除之,即一人程功也。

  求堤上、下广及高、袤,术曰:一人一日程功乘总人,为堤积。以高差乘下广差,六而一,为鳖幂。又以高差乘小头广差,二而一,为大卧堑头幂。又半高差,乘上广多东头高之数,为小卧堑头幂。并三幂,为大小堑鳖率。乘正袤多小高之数,以减堤积,余为实。又置半高差及半小头广差与上广多小头高之数,并三差,以乘正袤多小头高之数。以加率为方法。又并正袤多小头高、上广多小高及半高差,兼半小头广差加之,为廉法,从。开方立除之,即小高。加差,即各得广、袤、高。又正袤自乘,高差自乘,并,而开方除之,即斜袤。  求甲县高、广、正、斜袤,术曰:以程功乘甲县人,以六因取积,又乘袤幂。以下广差乘高差为法除之,为实。又并小头上下广,以乘小高,三因之,为垣头幂。又乘袤幂,如法而一,为垣方。又三因小头下广,以乘正袤,以广差除之,为都廉,从。开立方除之,得小头袤,即甲袤。又以下广差乘之,所得以正袤除之,所得加东头下广,即甲广。又以两头高差乘甲袤,以正袤除之,以加东头高,即甲高。又以甲袤自乘;以堤东头高减甲高,余自乘,并二位,以开方除之,即得斜袤。若求乙、丙、丁,各以本县人功积尺,每以前大高、广为后小高、主廉母自乘,为方母。廉母乘方母,为实母(此平堤在上,羡除在下。两高之差即除高。其除两边各一鳖腝,中一堑堵。今以袤再乘六因积,广差乘袤差而一,得截鳖腝袤,再自乘,为立方一。又堑堵袤自乘,为幂一。又三因小头下广,大袤乘之,广差而一,与幂为高,故为廉法。又并小头上下广,又三之,以乘小头高为头幂,意同六除。然此头幂,本乘截袤。又袤乘之,差相乘而一。今还依数乘除一头幂,为从。开立方除之,得截袤)。

  求堤都积,术曰:置西头高,倍之,加东头高,又并西头上下广,半而乘之。又置东头高,倍之,加西头高,又并东头上下广,半而乘之。并二位积,以正袤乘之,六而一,得堤积也。

  假令筑龙尾堤,其堤从头高、上阔以次低狭至尾。上广多,下广少,堤头上下广差六尺,下广少高一丈二尺,少袤四丈八尺。甲县二千三百七十五人,乙县二千三百七十八人,丙县五千二百四十七人。各人程功常积一尺九寸八分,一日役毕,三县共筑。今从堤尾与甲县,以次与乙、丙。问:龙尾堤从头至尾高、袤、广及各县别给高、袤、广各多少。  答曰:

  高三丈,

  上广三丈四尺,  下广一丈八尺,

  袤六丈六尺;

  甲县高一丈五尺,

  袤三丈三尺,

  上广二丈一尺;

  乙县高二丈一尺,

  袤一丈三尺二寸,

  上广二丈二尺二寸;

  丙县高三丈,袤一丈九尺八寸,

  上广二丈四尺。

  求龙尾堤广、袤、高,术曰:以程功乘总人,为堤积。又六因之,为虚积。以少高乘少袤,为隅幂。以少上广乘之,为鳖隅积。以减虚积,余,三约之,所得为实。并少高、袤,以少上广乘之,为鳖从横廉幂。三而一,加隅幂,为方法。又三除少上广,以少袤、少高加之,为廉法,从。开立方除之,得下广。加差,即高、广、袤。

  求逐县均给积尺受广、袤,术曰:以程功乘当县人,当积尺。各六因积尺。又乘袤幂。广差乘高,为法。除之,为实。又三因末广,以袤乘之,广差而一,为都廉,从。开立方除之,即甲袤。以本高乘之,以本袤除之,即甲高。又以广差乘甲袤,以本袤除之,所得加末广,即甲上广。其甲上广即乙末广,其甲高即垣高。求实与都廉,如前。又并甲上下广,三之,乘甲高,又乘袤幂,以法除之,得垣方,从。开立方除之,即乙袤。余放此(此龙尾犹羡除也。其堑堵一,鳖腝一,并而相连。今以袤再乘积,广差乘高而一,所得截鳖腝袤再自乘,为立方一。又堑堵袤自乘,为幂一。又三因末广,以袤乘之,广差而一,与幂为高,故为廉法)。

  假令穿河,袤一里二百七十六步,下广六步一尺二寸;北头深一丈八尺六寸,上广十二步二尺四寸;南头深二百四十一尺八寸;上广八十六步四尺八寸。运土于河西岸造漘,北头高二百二十三尺二寸,南头无高,下广四百六尺七寸五厘,袤与河同。甲郡二万二千三百二十人,乙郡六万八千七十六人,丙郡五万九千九百八十五人,丁郡三万七千九百四十四人。自穿、负、筑,各人程功常积三尺七寸二分。限九十六日役,河漘俱了。四郡分共造漘,其河自北头先给甲郡,以次与乙,合均赋积尺。问:逐郡各给斜、正袤,上广及深,并漘上广各多少?

  答曰:  漘上广五丈八尺二寸一分;

  甲郡正袤一百四十四丈,

  斜袤一百四十四丈三尺,

  上广二十六丈四寸,  深一十一丈一尺六寸;  乙郡正袤一百一十五丈二尺,

  斜袤一百一十五丈四尺四寸,

  上广四十丈九尺二寸,

  深一十八丈六尺;

  丙郡正袤五十七丈六尺,  斜袤五十七丈七尺二寸,

  上广四十八丈三尺六寸,

  深二十二丈三尺二寸,

  丁郡正袤二十八丈八尺,

  斜袤二十八丈八尺六寸,  上广五十二丈八寸,

  深二十四丈一尺八寸。

  术曰:如筑堤术入之(覆堤为河,彼注甚明,高深稍殊,程功是同,意可知也)。以程功乘甲郡人,又以限日乘之,四之,三而一,为积。又六因,以乘袤幂。以上广差乘深差,为法。除之,为实。又并小头上、下广,以乘小头深,三之,为垣头幂。又乘袤幂,以法除之,为垣方。三因小头上广,以乘正袤,以广差除之,为都廉,从。开立方除之,即得小头袤,为甲袤。求深、广,以本袤及深广差求之。以两头上广差乘甲袤,以本袤除之,所得加小头上广,即甲上广。以小头深减南头深,余以乘甲袤,以本袤除之,所得加小头深,即甲深。又正袤自乘,深差自乘,并,而开方除之,即斜袤。若求乙、丙、丁,每以前大深、广为后小深、广,准甲求之,即得。

  求漘上广,术曰:以程功乘总人,又以限日乘之,为积。六因之,为实。以正袤除之,又以高除之,所得以下广减之,余又半之,即漘上广。

  假令四郡输粟,斛法二尺五寸,一人作功为均。自上给甲,以次与乙。其甲郡输粟三万八千七百四十五石六斗,乙郡输粟三万四千九百五石六斗,丙郡输粟,二万六千二百七十石四斗,丁郡输粟一万四千七十八石四斗。四郡共穿窖,上袤多于上广一丈,少于下袤三丈,多于深六丈,少于下广一丈。各计粟多少,均出丁夫。自穿、负、筑,冬程人功常积一十二尺,一日役。问:窖上下广、袤、深,郡别出人及窖深、广各多少?

  答曰:

  窖上广八丈,

  上袤九丈,

  下广一十丈,

  下袤一十二丈,

  深三丈;

  甲郡八千七十二人,  深一十二尺,  下袤一十丈二尺,  广八丈八尺;

  乙郡七千二百七十二人,

  深九尺,

  下袤一十一丈一尺,

  广九丈四尺;

  丙郡五千四百七十三人,

  深六尺,下袤一十一丈七尺,

  广九丈八尺;  丁郡二千九百三十三人,

  深三尺,

  下袤一十二丈,

  广一十丈。  求窖深、广、袤,术曰:以斛法乘总粟,为积尺。又广差乘袤差,三而一,为隅阳幂。乃置堑上广,半广差加之,以乘堑上袤,为隅头幂。又半袤差,乘堑上广,以隅阳幂及隅头幂加之,为方法。又置堑上袤及堑上广,并之,为大广。又并广差及袤差,半之,以加大广,为廉法,从。开立方除之,即深。各加差,即合所问。

  求均给积尺受广、袤、深,术曰:如筑台术入之。以斛法乘甲郡输粟,为积尺。又三因,以深幂乘之,以广差乘袤差而一,为实。深乘上广,广差而一,为上广之高。深乘上袤,袤差而一,为上袤之高。上广之高乘上袤之高,三之,为方法。又并两高,三之,二而一,为廉法,从。开立方除之,即甲深。以袤差乘之,以本深除之,所加上袤,即甲下袤。以广差乘之,本深除之,所得加上广,即甲下广。若求乙、丙、丁,每以前下广、袤为后上广、袤,以次皆准此求之,即得。若求人数,各以程功约当郡积尺。

  假令亭仓上小下大,上下方差六尺,高多上方九尺,容粟一百八十七石二斗。今已运出五十石四斗。问:仓上下方、高及余粟深、上方各多少?

  答曰:

  上方三尺,

  下方九尺,  高一丈二尺;

  余粟深、上方俱六尺。

  求仓方、高,术曰:以斛法乘容粟,为积尺。又方差自乘,三而一,为隅阳幂。以乘截高,以减积,余为实。又方差乘截高,加隅阳幂,为方法。又置方差,加截高,为廉法,从。开立方除之,即上方。加差,即合所问。

  求余粟高及上方,术曰:以斛法乘出粟,三之,以乘高幂,令方差幂而一,为实(此是大、小高各自乘,各乘取高。是大高者,即是取高与小高并)。高乘上方,方差而一,为小高。令自乘,三之,为方法。三因小高,为廉法,从。开立方除之,得取出高。以减本高,余即残粟高。置出粟高,又以方差乘之,以本高除之,所得加上方,即余粟上方(此本术曰:上下方相乘,又各自乘,并以高乘之,三而一。今还元,三之,又高幂乘之,差幂而一,得大小高相乘,又各自乘之数。何者?若高乘下方,方差而一,得大高也。若高乘上方,方差而一,得小高也。然则斯本下方自乘,故须高自乘乘之,差自乘而一,即得大高自乘之数。小高亦然。凡大高者,即是取高与小高并相连。今大高自乘为大方。大方之内即有取高自乘幂一,隅头小高自乘幂一。又其两边各有以取高乘小高,为幂二。又大小高相乘,为中方。中方之内即有小高乘取高幂一。又小高自乘,即是小方之幂又一。则小高乘大高,又各自乘三等幂,皆以乘取高为立积。故三因小幂为方,及三小高为廉也)。

  假令刍甍上袤三丈,下袤九丈,广六丈,高一十二丈。有甲县六百三十二人,乙县二百四十三人。夏程人功当积三十六尺,限八日役。自穿筑,二县共造。今甲县先到。问:自下给高、广、袤、各多少?

  答曰:

  高四丈八尺,

  上广三丈六尺,

  袤六丈六尺。

  求甲县均给积尺受广、袤,术曰:以程功乘乙县人数,又以限日乘之,为积尺。以六因之,又高幂乘之,又袤差乘广而一,所得又半之,为实。高乘上袤,袤差而一,为上袤之高。三因上袤之高,半之,为廉法,从。开立方除之,得乙高。以减甍高,余即甲高。求广、袤,依率求之(此乙积本倍下袤,上袤从之。以下广及高乘之,六而一,为一甍积。今还元须六因之,以高幂乘之,为实。袤差乘广而一,得取高自乘以乘三上袤之高,则三小高为廉法,各以取高为方。仍有取高为立方者二,故半之,为立方一。又须半廉法)。  假令圆囤上小下大,斛法二尺五寸,以率径一周三。上下周差一丈二尺,高多上周一丈八尺,容粟七百五斛六斗。今已运出二百六十六石四斗。

四库全书

  • 小说
  • 名著
  • 故事
  • 谜语