語呂合わせを忘れてしまった場合や、小数点以下10桁以上の極めて精密な値が必要になった場合は、手計算で平方根を算出する「開平法(かいへいほう)」を用います。
開平法は、筆算に似たアルゴリズムを使って桁ごとに数値を確定させていく手法です。ここでは「$\sqrt{5}$」を小数第3位まで求める手順を具体的に分解します。
ステップ1:小数点を基準に2桁ずつ区切る
5を「5 . 00 00 00」のように、小数点から左右へ2桁ごとのブロックに区切ります。
ステップ2:最上位のブロック(5)を評価する
2乗して5以下になる最大の整数を探します。$2^2 = 4 \le 5$ なので、商の最初の桁は「2」となります。
左側に2を縦に2つ並べて足し算($2 + 2 = 4$)を行い、右側では $5 - 4 = 1$ を計算します。
ステップ3:次のブロック(00)を下ろして小数第1位を決定する
右側の余り「1」の後ろに「00」を下ろして「100」とします。
左側の「4」の右に新しい数字 $x$ を置き、「$4x \times x$」が100を超えない最大の整数 $x$ を探します。
・$42 \times 2 = 84$
・$43 \times 3 = 129$(100を超えるためNG)
したがって、$x = 2$ となり、小数第1位は「2」です。
左側は $42 + 2 = 44$ と足し算を行い、右側は $100 - 84 = 16$ と引き算します。
ステップ4:次のブロック(00)を下ろして小数第2位を決定する
右側に「00」を下ろして「1600」とします。
「44」の右に数字 $y$ を置き、「$44y \times y$」が1600を超えない最大の整数 $y$ を探します。
・$443 \times 3 = 1329$
・$444 \times 4 = 1776$(1600を超えるためNG)
したがって、$y = 3$ となり、小数第2位は「3」です。
左側は $443 + 3 = 446$ とし、右側は $1600 - 1329 = 271$ となります。
ステップ5:小数第3位を決定する
右側に「00」を下ろして「27100」とします。
「$446z \times z$」が27100を超えない最大の整数 $z$ を探します。
・$4466 \times 6 = 26796$
・$4467 \times 7 = 31269$(27100を超えるためNG)
したがって、$z = 6$ となり、小数第3位は「6」です。
以上の手順を積み重ねることで、「2.236」という値が確実に導き出せます。このアルゴリズムは$(10a + b)^2 = 100a^2 + 20ab + b^2 = 100a^2 + (20a + b)b$ という代数的な展開式を背景にしており、仕組みさえ理解すればあらゆる整数の平方根を自力で計算可能です。