首页>> 文学论坛>> 天文算法类>> 王孝通 Wang Xiaotong   中国 China   唐代   (?626年)
缉古算经
  唐武德八年(625)五月,王孝通撰《缉古算经》在长安成书,这是中国现存最早解三次方程的著作。
  
  唐代立于学官的十部算经中,王孝通《缉古算经》是唯一的一部由唐代学者撰写的。王孝通主要活动于六世纪末和七世纪初。他出身于平民,少年时期便开始潜心钻研数学,隋朝时以历算入仕,入唐后被留用,唐朝初年做过算学博士(亦称算历博士),后升任通直郎、太史丞。毕生从事数学和天文工作。唐武德六年(623),因行用的傅仁均《戊寅元历》推算日月食与实际天象不合,与吏部郎中祖孝孙受命研究傅仁均历存在的问题,武德九年(626)又与大理卿崔善为奉诏校勘傅仁均历,驳正术错三十余处,并付太史施行。王孝通所著《缉古算术》,被用作国子监算学馆数学教材,奉为数学经典,故后人称为《缉古算经》。全书一卷(新、旧《唐书》称四卷,但由于一卷的题数与王孝通自述相符,因此可能在卷次分法上有所不同)共二十题。第一题为推求月球赤纬度数,属于天文历法方面的计算问题,第二题至十四题是修造观象台、修筑堤坝、开挖沟渠,以及建造仓廪和地窖等土木工程和水利工程的施工计算问题,第十五至二十题是勾股问题。这些问题反映了当时开凿运河、修筑长城和大规模城市建设等土木和水利工程施工计算的实际需要。
  王孝通在《上缉古算经表》中说:"伏寻《九章》商功篇有平地役功受袤之术。至于上宽下狭,前高后卑,正经之内阙而不论。致使今代之人不达深理,就平正之间同欹邪之用。斯乃圆孔方枘,如何可安。臣昼思夜想,临书浩叹,恐一旦瞑目,将来莫睹。遂于平地之余,续狭邪之法,凡二十术,名曰《缉古》这段话清楚地说明了他写作本书的目的和研究成果。《缉古算经》涉及到立体体积计算、勾股计算、建立和求解三次方程x3+ax2+bx=A(a、b和A,非负),建立和求解双二次方程x4+ax2=A(a、A,为正,这是一种特殊形式的四次方程)等数学内容。这类问题与解法大多相当复杂,就当时数学水平而言是相当困难的,因此,在国子监算学馆要学习三年,学习年限仅次于祖氏父子的《缀术》。例如该书第三题,假如从甲、乙、丙、丁四县征派民工修筑河堤,这段河堤的横截面是等腰梯形,已知两端上下底之差,两端高度差,一端上底与高度差,一端高度与堤长之差,且已知各县出工人数,每人每日平均取土量、隔山渡水取土距离、负重运输效率和筑堤土方量,以及完工时间等,求每人每日可完成的土方量,整段河堤的土方量(即河堤体积)和这段河堤的长度、两端高度、两端上下底宽度,以及各县完成的堤段长度等。前两个问题是比较简单的算术问题,后两个问题则要经过较复杂的推导和几何变换归结为建立和求解形如x3+ax2+bx=A的三次方程。在《缉古算经》第十五题至二十题等属于勾股算术的问题中,王孝通还创造性地把勾股问题引向三次方程,并与代数方法结合起来,扩大了勾股算术的范围,发展了勾股问题的解题方法。在中国数学史上,《缉古算经》是我国现存最早介绍开带从立方法的算书,它集中体现了中国数学家早在公元七世纪在建立和求解三次方程等方面所取得的重要成就。在西方,虽然很早就已知道三次方程,但最初解三次方程是利用圆锥曲线的图解法,一直到十三世纪意大利数学家菲波那契才有了三次方程的数值解法,这比王孝通晚了六百多年。王孝通对自己的研究成果十分得意。他在《上缉古算经表》中批评时人称之精妙的《缀术》曾不觉方邑进行之术全错不通,刍甍方亭之问于理未尽",由于《缀术》已经失传,王孝通的说法是否正确,已无从查考,但想来恐有失偏颇。他还宣称,"请访能算之人考论得失,如有排其一字,臣欲谢以千金",这又未免有些过于自信。以后,宋元数学家创立了天元术、四元术和高次方程数值解法等,取得了更加辉煌的成就。
缉古算经
  提要
  
  《缉古算经》一卷,唐王孝通撰。其结衔称通直郎太史丞。其始末未详。惟《旧唐书·律历志》“戊寅历”条下有武德九年校历人算历博士臣王孝通题,盖即其人也。是书一名《缉古算术》,《唐书·艺文志》、《崇文总目》俱称李淳风注。今案此本卷首实题孝通撰并注,则《唐志》及《总目》为误。又《宋志》作一卷,《唐志》、郑樵《艺文略》俱作四卷,王应麟《玉海》谓今亡其三。案《孝通原表》称二十术,检勘书内条目相同,并无阙佚,不知应麟何所据而云然也。书中大旨,以《九章·商功篇》有平地役功受袤之术,其於上宽下狭窄,前高後卑,阙而不论,世人多不达其理。因于平地之余,续狭斜之法。凡推朔夜半时月之所离者一术,推仰观台及羡道高广袤者一术,推筑堤授工上下广及高袤不同者一术,推筑龙尾堤者一术,推穿河授工斜正袤上广及深并漘上广不同者一术,推四郡输粟窖上下广袤馀郡别出入及窖深广者一术,推亭仓上下方高者一术,推刍薨、圆囤者各一术,推方仓圆窖对待者五术,推勾股边积互求者六术,共合二十术之数。中间每以人户道里,大小远近,及材物之轻重,工作之时日,乘除进退,参伍以得其法。颇不以深浅为次第,故读者或不能骤通。而卒篇以後,由源竟委,端绪足寻,洵为思极毫芒,曲尽事理。唐代明算立学,习此书者以三年为限,亦知其术之精妙,非旦夕所克竟其义矣。其书世罕流播,此乃宋元丰七年秘书监赵彦若等校定刊行旧本,常熟毛得之章邱李氏,而影抄传之者。今详加勘正,其文间有脱阙,不敢妄补。谨撮取其义,别加图说,附诸本文之左,以便观览云。
  
  
  上辑古算经表
  
  臣孝通言:臣闻九畴载叙,纪法著于彝伦;六艺成功,数术参于造化。夫为君上者,司牧黔首,布神道而设教,采能事而经纶,尽性穷源,莫重于算。昔周公制礼,有九数之名。窃寻九数,即《九章》是也。其理幽而微,其形秘而约,重句聊用测海,寸木可以量天,非宇宙之至精,其孰能与于此者?汉代张苍删补残缺,校其条目,颇与古术不同。魏朝刘徽笃好斯言,博综纤隐,更为之注。徽思极毫芒,触类增长,乃造重差之法,列于终篇。虽即未为司南,然亦一时独步。自兹厥后,不断前踪。贺循、徐岳之徒,王彪、甄鸾之辈,会通之数无闻焉耳。但旧经残驳,尚有阙漏,自刘已下,更不足言。其祖恒之《缀术》,时人称之精妙,曾不觉方邑进行之术,全错不通;刍亭方亭之问,于理未尽。臣今更作新术,于此附伸。臣长自闾阎,少小学算。镌磨愚钝,迄将皓首。钻寻秘奥,曲尽无遗。代乏知音,终成寡和。伏蒙圣朝收拾,用臣为太史丞,比年已来,奉敕校勘傅仁均历,凡驳正术错三十余道,即付太史施行。伏寻《九章·商功篇》有平地役功受袤之术,至于上宽下狭、前高后卑,正经之内,阙而不论,致使今代之人不达深理,就平正之门,同欹邪之用。斯乃圆孔方柄,如何可安?臣昼思夜想,临书浩叹,恐一旦瞑目,将来莫睹,遂于平地之余,续狭斜之法,凡二十术,名曰《缉古》。请访能算之人,考论得失,如有排其一字,臣欲谢以千金。轻用陈闻,伏深战悚。谨言。
  
  
  缉古算经
  
  假今天正十一月朔夜半,日在斗十度七百分度之四百八十。以章岁为母,朔月行定分九千,朔日定小余一万,日法二万,章岁七百,亦名行分法。今不取加时日度。问:天正朔夜半之时月在何处?(推朔夜半月度,旧术要须加时日度。自古先儒虽复修撰改制,意见甚众,并未得算妙,有理不尽,考校尤难。臣每日夜思量,常以此理屈滞,恐后代无人知者。今奉敕造历,因即改制,为此新术。旧推日度之术,巳得朔夜半日度,仍须更求加时日度,然知月处。臣今作新术,但得朔夜半日度,不须加时日度,即知月处。此新术比于旧术,一年之中十二倍省功,使学者易知)
  
  答曰:在斗四度七百分度之五百三十。
  
  术曰(推朔夜半月度,新术不复加时日度,有定小余乃可用之):以章岁减朔月行定分,余以乘朔日定小余,满日法而一,为先行分。不尽者,半法已上收成一,已下者弃之。若先行分满日行分而一,为度分,以减朔日夜半日所在度分,若度分不足减,加往宿度;其分不足减者,退一度为行分而减之,余即朔日夜半月行所在度及分也(凡入历当月行定分,即是月一日之行分。但此定分满章岁而一,为度。凡日一日行一度。然则章岁者,即是日之一日行分也。今按:《九章·均输篇》有犬追兔术,与此术相似。彼问:犬走一百走,兔走七十步,令免先走七十五步,犬始追之,问几何步追及?答曰:二百五十步追及。彼术曰:以兔走减犬走,余者为法。又以犬走乘兔先走,为实。实如法而一,即得追及步数。此术亦然。何者?假令月行定分九千,章岁七百,即是日行七百分,月行九千分。令日月行数相减,余八千三百分者,是日先行之数。然月始追之,必用一日而相及也。令定小余者,亦是日月相及之日分。假令定小余一万,即相及定分,此乃无对为数。其日法者,亦是相及之分。此又同数,为有八千三百,是先行分也。斯则异矣。但用日法除之,即四千一百五十,即先行分。故以夜半之时日在月前、月在日后,以日月相去之数四千一百五十减日行所在度分,即月夜半所在度分也)。
  
  假令太史造仰观台,上广袤少,下广袤多。上下广差二丈,上下袤差四丈,上广袤差三丈,高多上广一十一丈,甲县差一千四百一十八人,乙县差三千二百二十二人,夏程人功常积七十五尺,限五日役台毕。羡道从台南面起,上广多下广一丈二尺,少袤一百四尺,高多袤四丈。甲县一十三乡,乙县四十三乡,每乡别均赋常积六千三百尺,限一日役羡道毕。二县差到人共造仰观台,二县乡人共造羡道,皆从先给甲县,以次与乙县。台自下基给高,道自初登给袤。问:台道广、高、袤及县别给高、广、袤各几何?
  
  答曰:
  
  台高一十八丈
  
  上广七丈,
  
  下广九丈,
  
  上袤一十丈,
  
  下袤一十四丈;
  
  甲县给高四丈五尺,
  
  上广八丈五尺,
  
  下广九丈,
  
  上袤一十三丈,
  
  下袤一十四丈;
  
  乙县给高一十三丈五尺,
  
  上广七丈,
  
  下广八丈五尺,
  
  上袤一十丈,
  
  下袤一十三丈;
  
  羡道高一十八丈,
  
  上广三丈六尺,
  
  下广二丈四尺,
  
  袤一十四丈;
  
  甲县乡人给高九丈,
  
  上广三丈,
  
  下广二丈四尺,
  
  袤七丈;
  
  乙县乡人给高九丈,
  
  上广三丈六尺,
  
  下广三丈,
  
  袤七丈。
  
  术曰:以程功尺数乘二县人,又以限日乘之,为台积。又以上下袤差乘上下广差,三而一,为隅阳幂。以乘截高,为隅阳截积。又半上下广差,乘斩上袤,为隅头幂。以乘截高,为隅头截积。并二积,以减台积,余为实。以上下广差并上下袤差,半之,为正数,加截上袤,以乘截高,所得增隅阳幂加隅头幂,为方法。又并截高及截上袤与正数,为廉法,从。开立方除之,即得上广。各加差,得台下广及上下袤、高。
  
  求均给积尺受广袤,术曰:以程功尺数乘乙县人,又以限日乘之,为乙积。三因之,又以高幂乘之,以上下广差乘袤差而一,为实。又以台高乘上广,广差而一,为上广之高。又以台高乘上袤,袤差而一,为上袤之高。又以上广之高乘上袤之高,三之,为方法。又并两高,三之,二而一,为廉法,从。开立方除之,即乙高。以减本高,余即甲高。此是从下给台甲高。又以广差乘乙高,以本高而一,所得加上广,即甲上广。又以袤差乘乙高,如本高而一,所得加上袤,即甲上袤。其上广、袤即乙下广、袤,台上广、袤即乙上广、袤。其后求广、袤,有增损者,皆放此(此应六因乙积,台高再乘,上下广差乘袤差而一。又以台高乘上广,广差而一,为上广之高。又以台高乘上袤,袤差而一,为上袤之高。以上广之高乘上袤之高,为小幂二。因下袤之高,为中幂一。凡下袤、下广之高,即是截高与上袤与上广之高相连并数。然此有中幂定有小幂一。又有上广之高乘截高,为幂一。又下广之高乘下袤之高,为大幂二。乘上袤之高为中幂一。其大幂之中又小幂一,复有上广、上袤之高各乘截高,为中幂各一。又截高自乘,为幂一。其中幂之内有小幂一。又上袤之高乘截高,为幂一。然则截高自相乘,为幂二,小幂六。又上广、上袤之高各三,以乘截高,为幂六。令皆半之,故以三乘小幂。又上广、上袤之高各三,令但半之,各得一又二分之一,故三之,二而一,诸幂乘截高为积尺)。
  
  求羡道广、袤、高,术曰:以均赋常积乘二县五十六乡,又六因,为积。又以道上广多下广数加上广少袤,为下广少袤。又以高多袤加下广少袤,为下广少高。以乘下广少袤,为隅阳幂。又以下广少上广乘之,为鳖隅积。以减积,余三而一,为实。并下广少袤与下广少高,以下广少上广乘之,鳖从横廉幂。三而一,加隅幂,为方法。又以三除上广多下广,以下广少袤、下广少高加之,为廉法,从。开立方除之,即下广。加广差,即上广。加袤多上广于上广,即袤。加高多袤,即道高。
  
  求羡道均给积尺甲县受广、袤,术曰:以均赋常积乘甲县上十三乡,又六因,为积。以袤再乘之,以道上下广差乘台高为法而一,为实。又三因下广,以袤乘之,如上下广差而一,为都廉,从。开立方除之,即甲袤。以广差乘甲袤,本袤而一,以下广加之,即甲上广。又以台高乘甲袤,本袤除之,即甲高。
  
  假令筑堤,西头上、下广差六丈八尺二寸,东头上、下广差六尺二寸。东头高少于西头高三丈一尺,上广多东头高四尺九寸,正袤多于东头高四百七十六尺九寸。甲县六千七百二十四人,乙县一万六千六百七十七人,丙县一万九千四百四十八人,丁县一万二千七百八十一人。四县每人一日穿土九石九斗二升。每人一日筑常积一十一尺四寸十三分寸之六。穿方一尺得土八斗。古人负土二斗四升八合,平道行一百九十二步,一日六十二到。今隔山渡水取土,其平道只有一十一步,山斜高三十步,水宽一十二步,上山三当四,下山六当五,水行一当二,平道踟蹰十加一,载输一十四步。减计一人作功为均积。四县共造,一日役华。今从东头与甲,其次与乙、丙、丁。问:给斜、正袤与高,及下广,并每人一日自穿、运、筑程功,及堤上、下高、广各几何?
  
  答曰:
  
  一人一日自穿、运、筑程功四尺九寸六分;
  
  西头高三丈四尺一寸,
  
  上广八尺,
  
  下广七丈六尺二寸,
  
  东头高三尺一寸,
  
  上广八尺,
  
  下广一丈四尺二寸,
  
  正袤四十八丈,
  
  斜袤四十八丈一尺;
  
  甲县正袤一十九丈二尺,
  
  斜袤一十九丈二尺四寸,
  
  下广三丈九尺,
  
  高一丈五尺五寸;
  
  乙县正袤一十四丈四尺;
  
  斜袤一十四丈四尺三寸,
  
  下广五丈七尺六寸,
  
  高二丈四尺八寸;
  
  丙县正袤九丈六尺,
  
  斜袤九丈六尺二寸,
  
  下广七尺,
  
  高三丈一尺;
  
  丁县正袤四丈八尺,
  
  斜袤四丈八尺一寸,
  
  下广七丈六尺二寸,
  
  高三丈四尺一寸。
  
  求人到程功运筑积尺,术曰:置上山四十步,下山二十五步,渡水二十四步,平道一十一步,踟蹰之间十加一,载输一十四步,一返计一百二十四步。以古人负土二斗四升八合,平道行一百九十二步,以乘一日六十二到,为实。却以一返步为法。除,得自运土到数也。又以一到负土数乘之,却以穿方一尺土数除之,得一人一日运动积。又以一人穿土九石九斗二升,以穿方一尺土数除之,为法。除之,得穿用人数。复置运功积,以每人一日常积除之,得筑用人数。并之,得六人。共成二十九尺七寸六分,以六人除之,即一人程功也。
  
  求堤上、下广及高、袤,术曰:一人一日程功乘总人,为堤积。以高差乘下广差,六而一,为鳖幂。又以高差乘小头广差,二而一,为大卧堑头幂。又半高差,乘上广多东头高之数,为小卧堑头幂。并三幂,为大小堑鳖率。乘正袤多小高之数,以减堤积,余为实。又置半高差及半小头广差与上广多小头高之数,并三差,以乘正袤多小头高之数。以加率为方法。又并正袤多小头高、上广多小高及半高差,兼半小头广差加之,为廉法,从。开方立除之,即小高。加差,即各得广、袤、高。又正袤自乘,高差自乘,并,而开方除之,即斜袤。
  
  求甲县高、广、正、斜袤,术曰:以程功乘甲县人,以六因取积,又乘袤幂。以下广差乘高差为法除之,为实。又并小头上下广,以乘小高,三因之,为垣头幂。又乘袤幂,如法而一,为垣方。又三因小头下广,以乘正袤,以广差除之,为都廉,从。开立方除之,得小头袤,即甲袤。又以下广差乘之,所得以正袤除之,所得加东头下广,即甲广。又以两头高差乘甲袤,以正袤除之,以加东头高,即甲高。又以甲袤自乘;以堤东头高减甲高,余自乘,并二位,以开方除之,即得斜袤。若求乙、丙、丁,各以本县人功积尺,每以前大高、广为后小高、主廉母自乘,为方母。廉母乘方母,为实母(此平堤在上,羡除在下。两高之差即除高。其除两边各一鳖腝,中一堑堵。今以袤再乘六因积,广差乘袤差而一,得截鳖腝袤,再自乘,为立方一。又堑堵袤自乘,为幂一。又三因小头下广,大袤乘之,广差而一,与幂为高,故为廉法。又并小头上下广,又三之,以乘小头高为头幂,意同六除。然此头幂,本乘截袤。又袤乘之,差相乘而一。今还依数乘除一头幂,为从。开立方除之,得截袤)。
  
  求堤都积,术曰:置西头高,倍之,加东头高,又并西头上下广,半而乘之。又置东头高,倍之,加西头高,又并东头上下广,半而乘之。并二位积,以正袤乘之,六而一,得堤积也。
  
  假令筑龙尾堤,其堤从头高、上阔以次低狭至尾。上广多,下广少,堤头上下广差六尺,下广少高一丈二尺,少袤四丈八尺。甲县二千三百七十五人,乙县二千三百七十八人,丙县五千二百四十七人。各人程功常积一尺九寸八分,一日役毕,三县共筑。今从堤尾与甲县,以次与乙、丙。问:龙尾堤从头至尾高、袤、广及各县别给高、袤、广各多少。
  
  答曰:
  
  高三丈,
  
  上广三丈四尺,
  
  下广一丈八尺,
  
  袤六丈六尺;
  
  甲县高一丈五尺,
  
  袤三丈三尺,
  
  上广二丈一尺;
  
  乙县高二丈一尺,
  
  袤一丈三尺二寸,
  
  上广二丈二尺二寸;
  
  丙县高三丈,袤一丈九尺八寸,
  
  上广二丈四尺。
  
  求龙尾堤广、袤、高,术曰:以程功乘总人,为堤积。又六因之,为虚积。以少高乘少袤,为隅幂。以少上广乘之,为鳖隅积。以减虚积,余,三约之,所得为实。并少高、袤,以少上广乘之,为鳖从横廉幂。三而一,加隅幂,为方法。又三除少上广,以少袤、少高加之,为廉法,从。开立方除之,得下广。加差,即高、广、袤。
  
  求逐县均给积尺受广、袤,术曰:以程功乘当县人,当积尺。各六因积尺。又乘袤幂。广差乘高,为法。除之,为实。又三因末广,以袤乘之,广差而一,为都廉,从。开立方除之,即甲袤。以本高乘之,以本袤除之,即甲高。又以广差乘甲袤,以本袤除之,所得加末广,即甲上广。其甲上广即乙末广,其甲高即垣高。求实与都廉,如前。又并甲上下广,三之,乘甲高,又乘袤幂,以法除之,得垣方,从。开立方除之,即乙袤。余放此(此龙尾犹羡除也。其堑堵一,鳖腝一,并而相连。今以袤再乘积,广差乘高而一,所得截鳖腝袤再自乘,为立方一。又堑堵袤自乘,为幂一。又三因末广,以袤乘之,广差而一,与幂为高,故为廉法)。
  
  假令穿河,袤一里二百七十六步,下广六步一尺二寸;北头深一丈八尺六寸,上广十二步二尺四寸;南头深二百四十一尺八寸;上广八十六步四尺八寸。运土于河西岸造漘,北头高二百二十三尺二寸,南头无高,下广四百六尺七寸五厘,袤与河同。甲郡二万二千三百二十人,乙郡六万八千七十六人,丙郡五万九千九百八十五人,丁郡三万七千九百四十四人。自穿、负、筑,各人程功常积三尺七寸二分。限九十六日役,河漘俱了。四郡分共造漘,其河自北头先给甲郡,以次与乙,合均赋积尺。问:逐郡各给斜、正袤,上广及深,并漘上广各多少?
  
  答曰:
  
  漘上广五丈八尺二寸一分;
  
  甲郡正袤一百四十四丈,
  
  斜袤一百四十四丈三尺,
  
  上广二十六丈四寸,
  
  深一十一丈一尺六寸;
  
  乙郡正袤一百一十五丈二尺,
  
  斜袤一百一十五丈四尺四寸,
  
  上广四十丈九尺二寸,
  
  深一十八丈六尺;
  
  丙郡正袤五十七丈六尺,
  
  斜袤五十七丈七尺二寸,
  
  上广四十八丈三尺六寸,
  
  深二十二丈三尺二寸,
  
  丁郡正袤二十八丈八尺,
  
  斜袤二十八丈八尺六寸,
  
  上广五十二丈八寸,
  
  深二十四丈一尺八寸。
  
  术曰:如筑堤术入之(覆堤为河,彼注甚明,高深稍殊,程功是同,意可知也)。以程功乘甲郡人,又以限日乘之,四之,三而一,为积。又六因,以乘袤幂。以上广差乘深差,为法。除之,为实。又并小头上、下广,以乘小头深,三之,为垣头幂。又乘袤幂,以法除之,为垣方。三因小头上广,以乘正袤,以广差除之,为都廉,从。开立方除之,即得小头袤,为甲袤。求深、广,以本袤及深广差求之。以两头上广差乘甲袤,以本袤除之,所得加小头上广,即甲上广。以小头深减南头深,余以乘甲袤,以本袤除之,所得加小头深,即甲深。又正袤自乘,深差自乘,并,而开方除之,即斜袤。若求乙、丙、丁,每以前大深、广为后小深、广,准甲求之,即得。
  
  求漘上广,术曰:以程功乘总人,又以限日乘之,为积。六因之,为实。以正袤除之,又以高除之,所得以下广减之,余又半之,即漘上广。
  
  假令四郡输粟,斛法二尺五寸,一人作功为均。自上给甲,以次与乙。其甲郡输粟三万八千七百四十五石六斗,乙郡输粟三万四千九百五石六斗,丙郡输粟,二万六千二百七十石四斗,丁郡输粟一万四千七十八石四斗。四郡共穿窖,上袤多于上广一丈,少于下袤三丈,多于深六丈,少于下广一丈。各计粟多少,均出丁夫。自穿、负、筑,冬程人功常积一十二尺,一日役。问:窖上下广、袤、深,郡别出人及窖深、广各多少?
  
  答曰:
  
  窖上广八丈,
  
  上袤九丈,
  
  下广一十丈,
  
  下袤一十二丈,
  
  深三丈;
  
  甲郡八千七十二人,
  
  深一十二尺,
  
  下袤一十丈二尺,
  
  广八丈八尺;
  
  乙郡七千二百七十二人,
  
  深九尺,
  
  下袤一十一丈一尺,
  
  广九丈四尺;
  
  丙郡五千四百七十三人,
  
  深六尺,下袤一十一丈七尺,
  
  广九丈八尺;
  
  丁郡二千九百三十三人,
  
  深三尺,
  
  下袤一十二丈,
  
  广一十丈。
  
  求窖深、广、袤,术曰:以斛法乘总粟,为积尺。又广差乘袤差,三而一,为隅阳幂。乃置堑上广,半广差加之,以乘堑上袤,为隅头幂。又半袤差,乘堑上广,以隅阳幂及隅头幂加之,为方法。又置堑上袤及堑上广,并之,为大广。又并广差及袤差,半之,以加大广,为廉法,从。开立方除之,即深。各加差,即合所问。
  
  求均给积尺受广、袤、深,术曰:如筑台术入之。以斛法乘甲郡输粟,为积尺。又三因,以深幂乘之,以广差乘袤差而一,为实。深乘上广,广差而一,为上广之高。深乘上袤,袤差而一,为上袤之高。上广之高乘上袤之高,三之,为方法。又并两高,三之,二而一,为廉法,从。开立方除之,即甲深。以袤差乘之,以本深除之,所加上袤,即甲下袤。以广差乘之,本深除之,所得加上广,即甲下广。若求乙、丙、丁,每以前下广、袤为后上广、袤,以次皆准此求之,即得。若求人数,各以程功约当郡积尺。
  
  假令亭仓上小下大,上下方差六尺,高多上方九尺,容粟一百八十七石二斗。今已运出五十石四斗。问:仓上下方、高及余粟深、上方各多少?
  
  答曰:
  
  上方三尺,
  
  下方九尺,
  
  高一丈二尺;
  
  余粟深、上方俱六尺。
  
  求仓方、高,术曰:以斛法乘容粟,为积尺。又方差自乘,三而一,为隅阳幂。以乘截高,以减积,余为实。又方差乘截高,加隅阳幂,为方法。又置方差,加截高,为廉法,从。开立方除之,即上方。加差,即合所问。
  
  求余粟高及上方,术曰:以斛法乘出粟,三之,以乘高幂,令方差幂而一,为实(此是大、小高各自乘,各乘取高。是大高者,即是取高与小高并)。高乘上方,方差而一,为小高。令自乘,三之,为方法。三因小高,为廉法,从。开立方除之,得取出高。以减本高,余即残粟高。置出粟高,又以方差乘之,以本高除之,所得加上方,即余粟上方(此本术曰:上下方相乘,又各自乘,并以高乘之,三而一。今还元,三之,又高幂乘之,差幂而一,得大小高相乘,又各自乘之数。何者?若高乘下方,方差而一,得大高也。若高乘上方,方差而一,得小高也。然则斯本下方自乘,故须高自乘乘之,差自乘而一,即得大高自乘之数。小高亦然。凡大高者,即是取高与小高并相连。今大高自乘为大方。大方之内即有取高自乘幂一,隅头小高自乘幂一。又其两边各有以取高乘小高,为幂二。又大小高相乘,为中方。中方之内即有小高乘取高幂一。又小高自乘,即是小方之幂又一。则小高乘大高,又各自乘三等幂,皆以乘取高为立积。故三因小幂为方,及三小高为廉也)。
  
  假令刍甍上袤三丈,下袤九丈,广六丈,高一十二丈。有甲县六百三十二人,乙县二百四十三人。夏程人功当积三十六尺,限八日役。自穿筑,二县共造。今甲县先到。问:自下给高、广、袤、各多少?
  
  答曰:
  
  高四丈八尺,
  
  上广三丈六尺,
  
  袤六丈六尺。
  
  求甲县均给积尺受广、袤,术曰:以程功乘乙县人数,又以限日乘之,为积尺。以六因之,又高幂乘之,又袤差乘广而一,所得又半之,为实。高乘上袤,袤差而一,为上袤之高。三因上袤之高,半之,为廉法,从。开立方除之,得乙高。以减甍高,余即甲高。求广、袤,依率求之(此乙积本倍下袤,上袤从之。以下广及高乘之,六而一,为一甍积。今还元须六因之,以高幂乘之,为实。袤差乘广而一,得取高自乘以乘三上袤之高,则三小高为廉法,各以取高为方。仍有取高为立方者二,故半之,为立方一。又须半廉法)。
  
  假令圆囤上小下大,斛法二尺五寸,以率径一周三。上下周差一丈二尺,高多上周一丈八尺,容粟七百五斛六斗。今已运出二百六十六石四斗。问:残粟去口、上下周、高各多少?
  
  答曰:
  
  一周一丈八尺,
  
  下周三丈,
  
  高三丈六尺,
  
  去口一丈八尺,
  
  粟周二丈四尺。
  
  求圆囤上下周及高,术曰:以斛法乘容粟,又三十六乘之,三而一,为方亭之积。又以周差自乘,三而一,为隅阳幂。以乘截高,以减亭积,余为实。又周差乘截高,加隅阳幂,为方法。又以周差加截高,为廉法,从。开立方除之,得上周。加差,而合所问。
  
  求粟去口,术曰:以斛法乘出斛,三十六乘之,以乘高幂,如周差幂而一,为实。高乘上周,周差而一,为小高。令自乘,三之,为方法。三因小高,为廉法,从。开立方除之,即去口(三十六乘讫,即是截方亭,与前方窖不别)。置去口,以周差乘之,以本高除之,所得加上周,即粟周。
  
  假令有粟二万三千一百二十斛七斗三升,欲作方仓一,圆窖一,盛各满中而粟适尽。令高、深等,使方面少于圆径九寸,多于高二丈九尺八寸,率径七,周二十二。问:方、径、深多少?
  
  答曰:
  
  仓方四丈五尺三寸(容粟一万二千七百二十二斛九斗五升八合),
  
  窖径四丈六尺二寸(容粟一万三百九十七石七斗七升二合),
  
  高与深各一丈五尺五寸。
  
  求方、径高深,术曰:十四乘斛法,以乘粟数,二十五而一,为实。又倍多加少,以乘少数,又十一乘之,二十五而一,多自乘加之,为方法。又倍少数,十一乘之,二十五而一,又倍多加之,为廉法,从。开立方除之,即高、深。各加差,即方径(一十四乘斛法,以乘粟为积尺。前一十四馀,今还元,一十四乘。为径自乘者,是一十一;方自乘者,是一十四。故并之为二十五。凡此方、圆二径长短不同,二径各自乘为方,大小各别。然则此堑方二丈九尺八寸,堑径三丈七寸,皆成方面。此应堑方自乘,一十四乘之;堑径自乘,一十一乘之,二十五而一,为隅幂,即方法也。但二隅幂皆以堑数为方面。今此术就省,倍小隅方,加差为矩袤,以差乘之为矩幂。一十一乘之,二十五而一。又差自乘之数,即是方圆之隅同有此数,若二十五乘之,还须二十五除。直以差自乘加之,故不复乘除。又须倍二廉之差,一十一乘之,二十五而一,倍差加之,为廉法,不复二十五乘除之也)。
  
  还元,术曰:仓方自乘,以高乘之,为实。圆径自乘,以深乘之,一十一乘,一十四而一,为实。皆为斛法除之,即得容粟(斛法二尺五寸)。
  
  假令有粟一万六千三百四十八石八斗,欲作方仓四、圆窖三,令高、深等,方面少于圆径一丈,多于高五尺,斛法二尺五寸,率径七,周二十二。问:方、高、径多少?
  
  答曰:
  
  方一丈八尺,
  
  高深一丈三尺,
  
  圆径二丈八尺。
  
  术曰:以一十四乘斛法,以乘粟数,如八十九而一,为实。倍多加少,以乘少数,三十三乘之,八十九而一,多自乘加之,为方法。又倍少数,以三十三乘之,八十九而一,倍多加之,为廉法,从。开立方除之,即高、深。各加差,即方径(一十四乘斛法,以乘粟,为径自乘及方自乘数与前同。今方仓四,即四因十四。圆窖三,即三因十一。并之,为八十九,而一。此堑径一丈五尺,堑方五尺,以高为立方。自外意同前)。
  
  假令有粟三千七十二石,欲作方仓一、圆窖一,令径与方等,方于窖深二尺,少于仓高三尺,盛各满中而粟适尽(圆率、斛法并与前同)。问:方、径、高、深各多少?
  
  答曰:
  
  方、径各一丈六尺,
  
  高一丈九尺,
  
  深一丈四尺。
  
  术曰:三十五乘粟,二十五而一,为率。多自乘,以并多少乘之,以乘一十四,如二十五而一,所得以减率,余为实。并多少,以乘多,倍之,乘一十四,如二十五而一,多自乘加之,为方法。又并多少,以乘一十四,如二十五而一,加多加之,为廉法,从。开立方除之,即窖深。各加差,即方、径、高(截高五尺,堑径及方二尺,以深为立方。十四乘斛法,故三十五乘粟。多自乘并多少乘之,为截高隅积,即二廉,方各二尺,长五尺。自外意旨皆与前同)。
  
  假令有粟五千一百四十石,欲作方窖、圆窖各一,令口小底大,方面于圆径等,两深亦同,其深少于下方七尺,多于上方一丈四尺,盛各满中而粟适尽(圆率、斛法并与前同)。问:方、径、深各多少?
  
  答曰:
  
  上方、径各七尺,
  
  下方、径各二丈八尺,
  
  深各二丈一尺。
  
  术曰:以四十二乘斛法,以乘粟,七十五而一,为方亭积。令方差自乘,三而一,为隅阳幂,以截多乘之,减积,余为实。以多乘差,加幂,为方法。多加差,为廉法,从。开立方除之,即上方。加差,即合所问(凡方亭,上下方相乘,又各自乘,并以乘高,为虚。命三而一,为方亭积。若圆亭上下径相乘,又各自乘,并以乘高,为虚。又十一乘之,四十二而一,为圆亭积。今方、圆二积并在一处,故以四十二复乘之,即得圆虚十一,方虚十四,凡二十五,而一,得一虚之积。又三除虚积,为方亭实。乃依方亭复问法,见上下方差及高差与积求上下方高术入之,故三乘,二十五而一)。
  
  假令有粟二万六千三百四十二石四斗,欲作方窖六、圆窖四,令口小底大,方面与圆径等,其深亦同,令深少於下方七尺,多於上方一丈四尺,盛各满中而粟适尽(圆率、斛法并与前同)。问上下方、深数各多少?
  
  答曰:
  
  方窖上方七尺,
  
  下方二丈八尺,
  
  深二丈一尺,
  
  圆窖上下径、深与方窖同。
  
  术曰:以四十二乘斛法,以乘粟,三百八十四而一,为方亭积尺。令方差自乘,三而一,为隅阳幂。以多乘之,以减积,余为实。以多乘差,加幂,为方法。又以多加差,为廉法,从。开立方除之,即上方。加差,即合所问(今以四十二乘。圆虚十一者四,方虚十四者六,合一百二十八虚,除之,为一虚之积。得者仍三而一,为方亭实积。乃依方亭见差复问求之,故三乘,一百二十八除之)。
  
  假令有句股相乘幂七百六十五分之一,弦多于句三十六十分之九。问:三事各多少?
  
  答曰:
  
  句十四二十分之七,
  
  股四十九五分之一,
  
  弦五十一四分之一。
  
  术曰:幂自乘,倍多数而一,为实。半多数,为廉法,从。开立方除之,即句。以弦多句加之,即弦。以句除幂,即股(句股相乘幂自乘,与句幂乘股幂积等。故以倍句弦差而一,得一句与半差之共乘句幂,为方。故半差为廉法,从,开立方除之。按:此术原本不全,今依句股义拟补十三字)。
  
  假令有句股相乘幂四千三十六五分之□,股少于弦六五分之一。问:弦多少?(按:此问原本缺二字,今依文补一股字,其股字上之□系所设分数,未便悬拟,今姑阙之)。
  
  答曰:弦一百一十四十分之七。
  
  术曰:幂自乘,倍少数而一,为实。半少,为廉法,从。开立方除之,即股。加差,即弦。
  
  假令有句弦相乘幂一千三百三十七二十分之一,弦多股一、十分之一。问:股多少?
  
  答曰:九十二五分之二。
  
  术曰:幂自乘,倍多而一,为立幂。又多再自乘,半之,减立幂,余为实。又多数自乘,倍之,为方法。又置多数,五之,二而一,为廉法,从。开立方除之,即股(句弦相乘幂自乘,即句幂乘弦幂之积。故以倍股弦差而一,得一股与半差□□□□□为方令多再自乘半之为隅□□□□□横虚二立廉□□□□□□□□□□□ 倍之为从隅□□□□□□□□□□□多为上广即二多□□□□□□□□□法故五之二而一)。
  
  案:此术脱简既多,法亦烦扰,宜云幂自乘,多数而一,所得四之,为实。多为廉法,从。立方开之,得减差,半之,即股(幂自乘,与勾幂弦幂相乘积等。令勾幂变为股弦并乘股弦差,故差而一,所得乃股弦并乘弦幂)。
  
  假令有股弦相乘幂四千七百三十九五分之三,句少于弦五十四五分之二。问:股多少?
  
  答曰:六十八。
  
  术曰:幂自乘,倍少数而一,为立幂。又少数再自乘,半之,以减立幂,余为实。又少数自乘,倍之,为方法。又置少数,五之,二而一,为廉法,从。开立方除之,即句。加差,即弦。弦除幂,即股。
  
  假令有股弦相乘幂七百二十六,句七、十分之七。问:股多少?
  
  答曰:股二十六五分之二。
  
  术曰:幂自乘,为实。句自乘,为方法,从。开方除之,所得又开方,即股(□□□□□□□□□□□□□□数亦是股□□□□□□□□□□□□为长以股□□□□□□□□□□□□得股幂又开□□□□□□□□□□□股北分母常……)
  
  假令有股十六二分之一,句弦相乘幂一百六十四二十五分之十四。问:句多少?
  
  答曰:句八、五分之四。
  
  术曰:幂自乘,为实。股自乘,为方法,从。开方除之,所得又开方,即句。
  
  
  缉古算经跋
  
  按《唐书·选举志》制科之目,明算居一,其定制云:凡算学,孙子、五曹共限一岁,九章、海岛共三岁,张邱建、夏侯阳各一岁,周髀、五经算共一岁,缀术四岁,缉古三岁,记遗三等数皆兼习之。窃惟数学为六艺之一,唐以取士共十经。周髀家塾曾刊行之,余则世有不能举其名者。扆半生求之,从太仓王氏得孙子、五曹、张邱建、夏侯阳四种,从章邱李氏得周髀、缉古二种,后从黄俞邰又得九章。皆元丰七年秘书省刊板,字书端楷,雕镂精工,真世之宝也。每卷后有秘书省官衔姓名一幅,又一幅宰辅大臣,自司马相公而下俱列名于后,用见当时郑重若此。因求善书者刻画影摹,不爽毫末,什袭而藏之。但焉得海岛、五经、缀术三种,竟成完璧,并得好事者刊刻流布,俾数学不绝于世,所深愿也。
  
  康熙甲子仲秋汲古后人毛扆谨识
首页>> 文学论坛>> 天文算法类>> 王孝通 Wang Xiaotong   中国 China   唐代   (?626年)