wenyan-book-sc

方术第八

抱朴。参同。万毕。古之方术书也。周髀。九章。海岛。古之算术书也。孙吴。三略。六韬。古之兵术书也。术者竟何。成法也。夫人之初任一事。有成有败。或得或失。卒不知孰为可法。君子仰观前人之殷鉴。俯罗不易之步骤。法象万物。为法为道。名之曰术。后人循之遵之。成事因之。故韩非子曰。人主之所执也。

今之编程者亦有术也。何耶。唯取步骤而名之耳。令机器闻其名而知其谓。不待每每絮絮道之而后明也。既定其步骤。虽欲施之百遍。但称名可矣。故云。术亦变数之类也。吾闻有尤矜于斯者。号曰。术亦数。以铭座右。今重叙问天地好在之例如是。示术之用。

吾有一術。名之曰「問天」。是術曰。
	吾有一言。曰「「天地。好在否」」。書之。
是謂「問天」之術也。

施如是。

施「問天」。

為是九遍。施「問天」也。

又凡术多有参数。有得数。参者入也。得者出也。点铁成金者。参者铁也。得者金也。老物化形者。参者兽也。得者人也。玄女钱米者。参者一文十粒。得者一贯盈桶也。金丹大道者。参者铅丹砂硫磺硝石云。得者还丹也。或问曰。无参者有之乎。无得者有之乎。曰。有也。左慈钓鲈。无中生有。魑魅遁形。有化于无。养丹吐气。无终归无。九章算术有更相减损术。见于前循环之章。今术之。以示参得之用如是。

吾有一術。名之曰「更相減損」。欲行是術。必先得二數。曰「甲」曰「乙」。乃行是術曰。
	恆為是。
		若「甲」等於「乙」者。
			乃止。
		或若「甲」大於「乙」者。
			減「甲」以「乙」。昔之「甲」者。今其是矣。
		若非。
			減「乙」以「甲」。昔之「乙」者。今其是矣。
		也。
	云云。
	乃得「甲」。
是謂「更相減損」之術也。

“必先得”云云者。所以名参数也。“乃得”云云者。所以名得数也。施之如是。

施「更相減損」於九十一。於四十九。書之。

施「更相減損」於八十八。於五十六。書之。

施「更相減損」於九百七十。於四。書之。

乃得七。八。二诸数。参不同。而一术蔽之。不亦易乎。故曰。凡用非一。皆当术之。斯亦所以令程式明练可读。如文章之命篇者也。又或改易一处。则施者皆不易而易矣。故曰术者虽非必有。然欲以程式立大事者。用术乃不可不精也。

或问曰。参数非数。可乎。参一。参三。参四。参若干。当作何书。曰当如是。

吾有一術。名之曰「雜燴」。欲行是術。
	必先得三言。曰「甲」。曰「乙」。曰「丙」。
	一爻。曰「丁」。
	二列。曰「戊」。曰「己」。
	一數。曰「庚」。
	乃行是術曰。
		夫「甲」。夫「乙」。夫「丙」。夫「丁」。夫「戊」。夫「己」。夫「庚」。書之。
		吾有一言。曰「「以上諸公。雖非同類。然今竟共一鑊中。真造化弄人者也」」書之。
是謂「雜燴」之術也。

又凡至“乃得”句。辄立止其术。余句虽多。亦不复行也。盖于理亦应然。例曰。

吾有一術。名之曰「論戰」。欲行是術。必先得一言曰「恃」。乃行是術曰。
	若「恃」等於「「衣食所安。弗敢專也。必以分人。」」者。乃得陰也。
	若「恃」等於「「犧牲玉帛。弗敢加也。必以信。」」者。乃得陰也。
	若「恃」等於「「小大之獄。雖不能察。必以情。」」者。乃得陽也。
	乃得陰。
是謂「論戰」之術也。

又凡前句所算。即其术所得者。不必付诸变数。但书“乃得矣”可也。例曰。

吾有一術。名之曰「倍」。欲行是術。必先得一數曰「甲」。乃行是術曰。
	乘「甲」以二。乃得矣。
是謂「倍」之術也。

或问曰。欲以“乃得”立止其术。然其术实当无所得。安书。曰以“乃归空无”。

向者曰。术亦数。欲以术为参数。以术为得数。可乎。曰。可也。例曰。今有一列。储物若干。欲以一法。去其糟粕。取其精华。然有诸公。秉法各异。同逢一马。或称骐骥。或以驽骀。共饮一壶。或称琼浆。或以马溺。故今是术。一术为参。甲术参之。适甲所欲。乙术参之。适乙所想。是术曰。

吾有一術。名之曰「篩剔」。欲行是術。必先得一列曰「甲」。一術曰「法」。乃行是術曰。
	吾有一列。名之曰「乙」。
	凡「甲」中之「元」。
		施「法」於「元」。若其然者。充「乙」以「元」也。
	云云。
	乃得「乙」。
是謂「篩剔」之術也。

定一列二术以试之。

吾有一列。名之曰「丙」。充「丙」以一以二以三以四以五以六以七。

吾有一術。名之曰「甲法」。欲行是術。必先得一數曰「丁」。乃行是術曰。
	若「丁」小於四者。乃得陽。若非。乃得陰也。
是謂「甲法」之術也。

吾有一術。名之曰「乙法」。欲行是術。必先得一數曰「丁」。乃行是術曰。
	除「丁」以二。所餘幾何。若其等於零者。乃得陽。若非。乃得陰也。
是謂「乙法」之術也。

施「篩剔」於「丙」於「甲法」。書之。
施「篩剔」於「丙」於「乙法」。書之。

乃得

一。二。三。
二。四。六。

又术有自施者。其术之中复施其术。号之曰“递归”。递归者何。吾有三比。譬取二铜镜而对置。人立其间。镜镜相照。乃见无穷之象。譬曩有山庙。庙有二僧。其老者语少者曰。曩有山庙。庙有二僧。其老者语少者曰。曩有山庙。庙有二僧云云。譬庄周之梦蝶。其梦蝶复梦庄周。蝶梦之庄周复梦一蝶。周梦之蝶梦之周梦之蝶复梦一周云云。

又凡循环皆可作递归解。递归皆可作循环解。但择其易叙者而为之也。譬客有问行百步之法者。一曰。百遍为之而行一步。是行百步也。此循环也。一曰。先行一步。复行其余九十九也。若问何以行其九十九耶。则先行一步。复行其九十八步也。此递归也。例曰。庄子云。一尺之棰。日取其半。万世不竭。今既十日。问其棰长。

吾有一術。名之曰「量棰」。欲行是術。必先得二數。曰「今長」。曰「餘日」。乃行是術曰。
	若「餘日」等於零者。乃得「今長」也。
	除「今長」以二。昔之「今長」者。今其是矣。
	減「餘日」以一。昔之「餘日」者。今其是矣。
	施「量棰」於「今長」於「餘日」。乃得矣。
是謂「量棰」之術也。

施「量棰」於一。於十。書之。

乃得

九絲七忽六微五纖六沙二塵五埃 

算数亦多有用递归者。譬宋贾宪有释锁求廉本源。或谓贾宪三角。其术曰列所开方数以隅算一自下增入前位至首位而止复以隅算如前升增递低一位求之云。以其术中数皆求自上层。上层之数又求自其上。是递归也。故例曰。

吾有一術。名之曰「求賈憲三角數」。欲行是術。必先得二數。曰「層」曰「位」。乃行是術曰。
	若「層」等於一者。乃得一也。
	若「位」等於一者。乃得一也。
	若「位」等於「層」者。乃得一也。
	減「層」以一。名之曰「上層」。
	減「位」以一。名之曰「左位」。
	施「求賈憲三角數」於「上層」。於「位」。名之曰「甲」。
	施「求賈憲三角數」於「上層」。於「左位」。名之曰「乙」。
	加「甲」以「乙」。乃得矣。
是謂「求賈憲三角數」之術也。

此所以求一层一位之数也。今欲尽画若干层之数。亦以术为之。示术之相用也。注曰。是术行甚缓。非良也。良者稍繁。见于章末。

吾有一術。名之曰「畫賈憲三角」。欲行是術。必先得一數。曰「層數」。是術曰。
	有數一。名之曰「層」。為是「層數」遍。
		吾有一言。名之曰「圖」。
		有數一。名之曰「位」。為是「層」遍。
			施「求賈憲三角數」於「層」。於「位」。名之曰「甲」。
			加「「 」」於「圖」。加「甲」於其。加「「 」」於其。昔之「圖」者。今其是矣。
		加「位」以一。昔之「位」者。今其是矣。云云。
		夫「圖」。書之。
	加「層」以一。昔之「層」者。今其是矣。云云。
是謂「畫賈憲三角」之術也。

施「畫賈憲三角」於七。

乃得

 一 
 一  一 
 一  二  一 
 一  三  三  一 
 一  四  六  四  一 
 一  五  十  十  五  一 
 一  六  十五  二十  十五  六  一 

或问曰。于术之体。复叙一术。可乎。曰。可也。是以明内术之所以隶于外术。易前贾宪三角术如是。

吾有一術。名之曰「畫賈憲三角」。欲行是術。必先得一數。曰「層數」。是術曰。
	吾有一術。名之曰「求」。欲行是術。必先得二數。曰「層」曰「位」。乃行是術曰。
		若「層」等於一者。乃得一也。
		若「位」等於一者。乃得一也。
		若「位」等於「層」者。乃得一也。
		減「層」以一。名之曰「上層」。
		減「位」以一。名之曰「左位」。
		施「求」於「上層」。於「位」。名之曰「甲」。
		施「求」於「上層」。於「左位」。名之曰「乙」。
		加「甲」以「乙」。乃得矣。
	是謂「求」之術也。
	有數一。名之曰「層」。為是「層數」遍。 
		吾有一言。名之曰「圖」。
		有數一。名之曰「位」。為是「層」遍。
			施「求」於「層」。於「位」。名之曰「甲」。
			加「「 」」於「圖」。加「甲」於其。加「「 」」於其。昔之「圖」者。今其是矣。
		加「位」以一。昔之「位」者。今其是矣。云云。
		夫「圖」。書之。
	加「層」以一。昔之「層」者。今其是矣。云云。
是謂「畫賈憲三角」之術也。

“求”者。内术也。“画”者。外术也。为是。则内术不得用于外术之外。此“域”也。“域”者。所以限变数之语境也。譬唐人语李密。谓牛角挂书之李密也。晋人语李密。谓舅夺母志之李密也。有域。则名不致混淆也。术之体一域也。决策循环之体。亦一域也。术之参者。域与术体同。

又凡云一名。其域有之者则得其谓。无之则外一域而得之。更无乃次第而外。竟无。法不行。譬有李氏生子而命之曰白者。于家中呼其名。谓子也。出其门。乃谓诗人也。例曰。

有數四。名之曰「丙」。
有數三。名之曰「丁」。
有數五。名之曰「戊」。

吾有一術。名之曰「甲」。欲行是術。必先得二數。曰「乙」。曰「丙」。是術曰。
	注曰。「「此之丙丁。非外之丙丁也。而內無戊。遂得之於外」」
	有數七。名之曰「丁」。
	加「乙」以「丁」。加其於「戊」。乃得矣。
是謂「甲」之術也。

施「甲」於「丙」「丁」。
注曰「「此之丙。內之乙。此之丁。內之丙。似此逆行倒施者。自非佳法。唯示域之用耳」」

一术既定。其域乃与其术恒共存。于他处施是术。是术亦得其域之变数而用之。是谓“闭包”也。夫前者贾宪三角术。行甚缓。盖其循环之中。每每复求既得之数。实属挥霍。今以闭包。存既得之数于域中一列。以资后算。不令作无用之功也。

是术也。以术得术。所得“求”术。“藏”列存焉。以此“求”替前之“求”。用“画”中。大速之焉。

吾有一術。名之曰「賈憲三角術」。是術曰。
	吾有一列。名之曰「藏」。

	吾有一術。名之曰「求」。欲行是術。必先得二數。曰「層」曰「位」。乃行是術曰。
		若「層」等於一者。乃得一也。
		若「位」等於一者。乃得一也。
		若「位」等於「層」者。乃得一也。
		減「層」以一。名之曰「上層」。
		減「位」以一。名之曰「左位」。

		恆為是。若「藏」之長大於「層」者。乃止也。
			吾有一列。充「藏」以其也。

		吾有二數。名之曰「甲」。曰「乙」。

		夫「藏」之「上層」。夫其之「位」。名之曰「知甲」。
		若「知甲」者。
			昔之「甲」者。今「知甲」是矣。
		若非。
			施「求」於「上層」。於「位」。昔之「甲」者。今其是矣。
		云云。

		夫「藏」之「上層」。夫其之「左位」。名之曰「知乙」。
		若「知乙」者。
			昔之「乙」者。今「知乙」是矣。
		若非。
			施「求」於「上層」。於「左位」。昔之「乙」者。今其是矣。
		云云。

		加「甲」以「乙」。名之曰「丙」。
		夫「藏」之「層」。昔之其之「位」者。今「丙」是矣。
		乃得「丙」。
	是謂「求」之術也。
	乃得「求」。
是謂「賈憲三角術」之術也。

施「賈憲三角術」。名之曰「求賈憲三角數」。

又术之施也。除前法之外。亦可取即算而未名之变数作参也。其法曰“取若干以施某术”。若干者。参之多少也。其理盖于“书之”略同。易前庄子棰术为例。

吾有一術。名之曰「量棰」。欲行是術。必先得二數。曰「今長」。曰「餘日」。乃行是術曰。
	若「餘日」等於零者。乃得「今長」也。
	除「今長」以二。減「餘日」以一。取二以施「量棰」。乃得矣。
是謂「量棰」之術也。

术之道。至是略备矣。比其前章诸法。愈增玄妙。请吾子细审其例。更以自试。方达自如云耳。