日中の方程論再考 ー『楊輝算法』と『古今算法記』

城地 茂

A Reconsideration of the Theory of Equation in China and Japan
----<> and <>

Shigeru Jochi


  従来、和算を含めた東洋数学で、方程式の解を最初に二つ求めたのは、沢口一之の『古
今算法記』(1671年)とされている。正確に述べれば、沢口一之は、正の解が二つ求まる
方程式は出題の誤りー「翻狂」として、定数項を改めている。
  しかし、中国では、南宋末に楊輝が、『楊輝算法』(1275年)の中で一つの二次方程式
から二つの解を求めているのである。『楊輝算法』を構成する3種の数学書の一つ、『田
畝比類乗除捷法』巻下第12、13題の問題がそれである。『楊輝算法』は余り研究されてい
なかったので、この事実は報告されていなかったが、明らかに正の解が二つ求められてい
るのである。従って、沢口一之に与えられていた評価は、楊輝に帰すことになるが、日中
の方程論は、従来考えられていた水準を〓かに越しており、『楊輝算法』と『古今算法記
』の方程式の解法をもう一度検討し直す必要がありそうである。
  しかし、本稿は、一番乗りは誰か、という素朴な問いに答えるものではない。なぜなら
、そのような比較は、「比較の対象が唯一の数学である」という命題を先驗的に真として
議論を進めているからである。単純に比較するのは極めて危険である。また、ここで言う
方程論とは、西洋数学のそれではなく、解の求め方の思惟形式という意味である。本稿で
は、徒に数式に頼ることなく、方程式解法を再考し、西洋数学とは異なった発展をした東
洋数学の一端を探ってみたい。また、中国数学と和算との関係も考えてみたいと思う。

1)解法の変遷  幾何から代数へ
  中国では、所謂ホーナー法(Horner Method) による高次方程式の解法が発展した。勿論
、計算器具として籌(算木)を使っており、西洋のものとは趣を異にするが、原理は驚く
ほど似ている。これは、『九章算術』(註1)巻4の「開平方術」が説明するとおり、幾
何学的発想に基づいて考案された。
  この方法は、現在でも使われている珠算による方法に似ているが、少し異なっている。
  先ず、開く数値に相当する面積の正方形を考える(これを「実」とする)。そして、こ
れを越えない最大の平方数を探し、それを面積から取り去る。このとき、その平方数を探
し易いように、その指数部だけを別に表示しておくという方法が考えられている。「借算
」と呼ばれる1本の算木を「実」の末位から2桁毎に最上位まで進めるのである。『算法
統宗』(註2)では、「実」を2桁毎のブロックに分けているが、これと機能は同じであ
る。しかし、『算法統宗』では「1」の表示を省略しているので、2次の係数が1のもの
以外は開き難いが、『九章算術』の方法では、「借算」に任意の有理数を置くことが可能
なので、一般の2次方程式を解く可能性を残している。
  こうして、「商」の最上位x1が決まった訳であるが、2桁目以降の値x' と既知の「商
」x1とは次の関係にある。
〓枠01〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
〓
〓                                                                            〓
〓      x'     1      2      x'   2        1          3      =S−x12 〓
〓                                                                            〓
〓                                    x'       x1          x1                〓
〓      x1      x12     3                                                    〓
〓                                                                            〓
〓              x1      x'                                                   〓
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
                  図  1                          図  2                        
  この関係を利用して2桁目x2を求める訳である。余った「実」の面積は、図1で矩形で
表されている。これは、1〜3の3つの部分に分解することができる。長方形1と3の長
さについてはx1であることが分かっている。縦はx' であり、この長方形が2つある。ま
た、正方形2x'Uもある。しかし、この面積は、13に比べて〓かに小さいものである。
そこで、既知のx1を2倍して(「法」とする)、これで残った「実」を割れば、大体、x'
の見当がつく。S−x12 を越えない範囲で最も近くなるようにすればx'が求められる。こ
のとき、「借算」を2桁目の指数を表しているように、1桁目のときより2桁退けておく
ことを忘れてはならない。
  3桁目以降は2桁目と同様に求めればよい。
  つまり、2桁目以降は既に求まった数値をxk として、次以降の値x'は、
                          S=(xk +x' )2
                    S−xkU=2xk x' +1x'U      ―――――――――1)      
                    「実」    「法」    「借算」
で表わされることを利用して次々に数値を決めてゆくのである。
  次に、一般の2次方程式、y2 +ay=Sについて考えてみよう。『九章算術』巻9第
20題の術には、
        「北門を出ずる歩数を以て西行の歩数を乗じ、之を倍し(=S)、実と為す。南
        門を出ずる歩数を併せ(=a)、従法と為し、開方して之を除く」
とある。これが、「開帯従平方」である。
  これも幾何的に考えることが出来る。これは、図3のような長方形と考えて、その広さ
yを求めることと同じである。
〓枠02〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
〓                                                                            〓
〓                                                                            〓
〓        y                            x'   2          1          3      〓
〓                                                                            〓
〓                y        a                x'         xk         xk     〓
〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓〓
                        南門からの歩数
                      +北門からの歩数
                  図  3                              図  2                    
  ここで、図3をみると、図2と同じであることが分かる。開平方の2桁目以降は、つぎ
つぎに1)式のような2次方程式に変換して、これを解いていることになる。a=2xk とな
っている訳で、予め1次の項aを「従法」として「法」の位置(3列目)に置いて計算を
すれば良いのである。
                S−(ykU+ayk )=(2yk +a)y' +y'U
                      「実」            「法」        「借算」
として、次の桁を決めてゆけばよい。
  3次方程式も立体模型を使うことによって解くことができる。係数は複雑になるが、既
知のxkでの各次の係数、指数を表せばよい訳で、特に2次方程式と異なるものはない。『
九章算術』では「開立方術」までで、一般の3次方程式は明記されていないが、唐代にな
ると『緝古算経』(註3)が著され、3次方程式が解かれている。
  この幾何を応用した方法だと、実際に模型作れる3次方程式までは可能であるが、4次
以上は模型が出来ないので解くことは出来なかった。幾何的に思考する方法は、非常に有
効であったが、それは同時に3次方程式までしか解けないという桎梏となってしまったの
である。
  この限界を突破したのは、宋代の劉益・〓憲である。
  彼らは、高次方程式を解く鍵は、既知のxkと次に求めようとするx'との関係である看破
し、その係数を表す面白い図を考えた。数字を俵積みして、その最も外側を1にする。そ
して、内部はその上部の2数を足したものとするのである。
                        0次              1                                    
                        1次            1  1                                  
                        2次          1  2  1                                
                        3次        1  3  3  1                              
                        4次      1  4  6  4  1                            
                        5次    1  5  10  10  5  1                          
                        6次  1  6  15  20  15  6  1                        
                                        図  4
  これが、「開方作法本源図(註4)」で、各項の係数を表している。「パスカルの三角
形」に相当するものを発見したのである。また、これを機械的に求める「増乗開方法」(
第3節で実例を示す)も述べている。劉益も〓憲も特殊な例を解いただけであるが、こう
して、代数的に解くことが考案され、秦九韶の『数書九章』(註5)で、「正負開方術」
として完成した。
  このとき、「隅」(最高次数の係数、『九章算術』では「借算」)は、任意の有理数が
可能である。「隅」は「実」を区切るという機能より、「商」の冪乗と係数を表示する機
能を果たしている。

2)『楊輝算法』
  このような発展を遂げた中国数学は、『楊輝算法』に至って、2次方程式の解が2つ求
められることを示した。
              方程式  (x−α)(x−β)=S        α>β>0                
を解く場合、従来のように面積を削ってゆく方法では、小さい方の解βだけしか求めるこ
とは出来ない。大きい方の解αを「商」に立てると、「実」が一時的に負になってしまう
のである。面積という考え方からすれば、負の面積というものは存在しないから、これは
どうしても解くことは出来ない。しかし、代数的に考えれば、「実」の符号を一時的に負
にしても何ら不都合はないのである。
  『田畝比類乗除捷法』(註6)巻下第13題の問題は、
                              −x2 +60x= 860
を解くものである。その解き方は、
        「草に日く。積を置きて実と為し、六十歩を以て従方と為し、一算を置き負隅と
        為す1)。
          実の上に商、長さ三十歩を置き、負隅と命じ、従三十を減ず2)。
          上商を以て余る従に命じ、合ず。積九百を除く。而れども積及ばず。乃ち翻法
        と命じ、商数の下、積数の上に置く。合わせて積九百より反りて元積八百六十四
        を減じ、余り正積(註7)三十六とす3)。
          上商を以て負隅と命じ、従三十を減ぜば尽きる。負隅を二退す4)。
          又、上商長さ六歩を負隅に命じ、六を負方(註8)に置く5)。
          以下、複た上商と命じ実を除かば尽きる。長さ三十六歩を得、問に合ふ6)」
というものである。
「商」                          3          3        36      36      36  
「実」          864        864      −36    −36    −36        0  
「方法」        ←60        30        30          0      −6    −12  
「隅(借算)」−1 (-1)     −1        −1          −1      −1      −1
                ↑  |                                                          
                +―+                                                          
      図5        1)          2)          3)            4)        5)      6)
    1)題意のように数値を並べ、「隅」を2桁、「法」を1桁進ませる。
    2)十位の「商」を3として、「法」から引く。
    3)残った「法」と「商」を掛けて 900となり、「実」から引く。このとき、「実」の
      符号が変わっている。
    4)「法」からもう一度「商」×「隅」を引き0になる。「隅」を2桁(「法」を1桁
      )退ける。
    5)個位の「商」を6として2)と同様にする。
  この方法を楊輝は「翻積法」と言っている。面積を翻すという意味である。楊輝以前に
も「実」の符号が変わる例が知られていたが、解が複数求まることを明示したのは楊輝が
最初である。こうして、先に大きい方の解でも小さい方の解でも任意に求めることができ
るようになったのである。
  ここでは、分かり易いように、「実」を『九章算術』のように正として計算を示したが
、宋代になると、「実」が面積であるという考え方は希薄になっている。他の項と同様の
扱いで、0次の項と捉えている。したがって、楊輝も「実」を負で始めて、途中で正に翻
している。ここにも、幾何的発想ではなく、代数的発想を見ることができる。

3)『古今算法記』
  日本でも戦国時代の戦乱が収まり、商工業が盛んになると、珠算が普及した。『算法統
宗』が伝来し、珠算による「開平方」も伝わっている。
  しかし、日本で普及した方法は、『算法統宗』の方法ではなく、算盤を縦に何台も並べ
、それぞれに「商」「実」―「隅」と置いて計算するのである。算盤を使ってはいるが、
算木と同じ事を行っている訳である。『塵劫記』では、これを「商実法」と言った。
                            +――――――+                                    
                            |    別図    |                                    
                            +――――――+                                    
      図6    「商実法」による高次方程式の解法  『塵劫記』(註9)より
  この方法では、算盤の軸間の規格が同じものを何台も用意しなければならず、当時の工
業技術では困難が予想される。実用的には3次以下の計算しか出来なかったのではないだ
ろうか。
  珠算より算木による計算方法に近かったことは、高次方程式を解くには有利だった。
  1671年に天元術を使った数学書、『古今算法記』が沢口一之の手によって刊行された。
『古今算法記』には、単に日本最初の天元術の数学書だけではなく、方程論の大きな進歩
があった。それは、高次方程式の解が一つとは限らないという事を発見したことである。
このことは、前節で述べたように『楊輝算法』でも指摘されていたが、沢口一之は「翻積
」とならないものも発見したのである。
                    方程式      (x−α)(x−β)=0
において、解α、βは、
              〓α>β
              〓α=n×10m     (9≧n≧1の自然数、mは整数)――――2)      
という条件を満たすとする。つまり、大きい方の解の有効桁数が1桁であるというもので
ある。このような方程式を解くと、「商」αを立てると、その時点で「実」が丁度0にな
ってしまうので、「実」の符号が変わる訳ではないから「翻積」とは言えない。つまり、
「翻積」の特例であるが、計算過程では全く普通の状態で解が二つ出てしまうのである。
  『古今算法記』では、『算法根源記』(註10)の遺題第16問を解いている。この問題は
4次方程式であるが、原理は上記のものと同じである。
            〓〓πy2 −x2 =A=47.6255 (π=3.142 とする)
            〓      y−√x=B=7                                            
という問題で、これを解くと、
                    〓x=4            〓x=0.67932764―                      
                    〓y=9            〓y=7.8242133 ―
となってしまう。これは、先にxについて解いても、yについて解いても、2)式の条件を
満たしていることが分かる。
  先にyについて解くと、
                     -y 4 -28y3 -293.2145y2 +1372y=2448.6255                    
「商」                                  9                                      
「実」  2448.6255              0                    ←+              
「方」  1372                    272.0695      ←+―+「方」×「商」
「一廉」−293.2145        −122.2145  ←+―+  「一廉」×「商」
「二廉」    28                      19      ←+  ―+      「二廉」×「商」
「隅」      −1                      −1      ―+              「隅」×「商」
                                  図  7−1
  となり、yの大きい方の解を先に出しても、「実」は0までにしかならず、符号が変わ
ることはない。「実」が0にならずに継続して行うときは、「方」以下の係数を「増乗開
方法」で求めておく。
「商」        9                        9                    9                
「実」        0                        0                    0                
「方」    −17.861      ←+  −17.861        −17.861        
「一廉」  −32.2145←+―+  −23.2145←+  −23.2145      
「二廉」    10      ←+―+          1      ←+―+    −8      ←+      
「隅」      −1      ―+            −1      ―+        −1      ―+      
                                  図  7―2                                    
  尚、yの小さな方の解の個位(1桁目)7を立てても「実」は正のままであり、そのま
ま計算を続けることになる。
  「翻積法」を使わなくとも二つの解が出てしまい、これを「翻狂」として、出題の失敗
とした。そこで、A,Bの数値を
                              A=12.278    B=4                              
と変えて、                                                                      
                              x=4        y=9
と一意に決まるようにしたのである。
  この「翻狂」という名称は、『楊輝算法』からと考えるべきだろう。大きい方の解を求
める「翻積法」のうち「実」が「狂って」負にならないことがあることを表した名称と言
える。したがって、偶然、解が二つになることを発見したのではなく、「翻積法」の特例
と意識しているのである。これは、明らかに『楊輝算法』を発展させたものである。
  その後、関孝和は方程論を更に進歩させ、「和算」と呼ぶに値する日本独特の数学を完
成させる。しかし、沢口一之の業績は既に南中国文化の模倣の段階を越えて、応用、発展
させていることが分かる。
  沢口一之が『楊輝算法』を入手したかどうかについては、記録が残っていない。しかし
、関孝和が1660年に『楊輝算法』を写本しているという事実がある。沢口一之が誤って関
孝和の弟子とされている記録もある(註11)ぐらいなので、両者の交流は確実で、当然、
関孝和の所蔵の『楊輝算法』を目にする機会があったはずである。寧ろ、両者の師弟関係
から考えて、関孝和の写本の種本が沢口一之の蔵書の可能性も否定できないと思う。

6)まとめ
  『楊輝算法』は、李氏朝鮮で官吏養成の為の教科書として採用されたことが示すように
、初等数学の集大成であり、従来、数学史家の注意を余り引かなかった。しかし、二次方
程式の解を二つ求めただけではなく、それと「翻積法」との関係まで把握していたのであ
る。
  そして、現代数学史家が見逃していたこの事実を沢口一之は理解していただけではなく
、応用し、「翻狂」という概念まで達していたのである。これは、仮定であるが、「翻積
法」を使うことによって解が二つ以上出たのであれば、沢口一之は認めていた、つまり、
出題の誤りとはしていなかったのではないだろうか。
  このように考えると、和算(註12)が中国数学の正統な後継者のように思われてならな
い。西洋数学の影響を強く受け、変質した清代の数学より、寧ろ、鎖国により、西洋文明
の摂取が制限された和算が、中国伝統数学の延長線にあったように思えてならないのであ
る。そうだとすれば、冒頭で述べた、誰が最初に二つ目の解を求めたかという問いも、意
味あるものになる。同じ文明圏の「数学」の中で機能を比較をするのならば、それは客観
性を保証できるからである。そして、その答えは楊輝である。


                                    (註)                                      
  1  撰者不詳、『九章算術』、9巻。A.D.50年頃。
  2  程大位撰、『算法統宗』、17巻、1592年。
  3  王孝通撰、『緝古算経』、1巻、 620年頃。
  4  〓憲撰、『黄帝九章算法細草』、1050年頃。これは散逸してしまい、『永楽大典』
    巻 16344に転載されたものが現存している。
  5  秦九韶撰、『数書九章』、18巻、1247年。
  6  楊輝撰、『田畝比類乗除捷法』、1275年。『楊輝算法』を構成する3部の一つであ
    る。
  7  後に詳解するが、「実」を負として計算を始めている。
  8  各本は「負積」となっているが、今、「負方」に改める。  尚、『九章算術』では
    1次の項を「法」と呼んでいたが、宋代辺りから「方法」「方」という名称に変化し
    ている。本稿では、以下の和算も術語は統一せず、原典に従った。
  9  吉田光由、『塵劫記』、3巻、1627年。巻3、第19、開平方を商実法にて除之事。
    図は大矢真一校注、岩波文庫、1978年版による。
  10  佐藤正興撰、『算法根源記』、5巻、1666年。
  11  松永良弼撰、『荒木先生茶談』、18世紀頃。
  12  通常、和算とは、関孝和の『発微算法』(1674年)以降を指すが、関孝和の業績の
    多くはそれ以前の日本数学の系譜を引くものであり、明確に時代区分するのは難しい
    だろう。寧ろ、『塵劫記』(1627年)から『発微算法』(1674年)までを過渡期と考
    えるべきだろう。

Back to Home Page