I recently discussed the traditional algorithms for computing square and cube roots in my History of Math class. Our reading, on mathematics in ancient China, gave both algorithms as a set of rules for manipulating number rods. For me, it was fascinating to see past the text: the rules as given would transfer directly to an abacus/soroban calculation, and were essentially the same as the rules that prior generations of American schoolchildren would have been drilled on in school.
My students (mostly high school math teachers) found the book’s explanation of the method obscure; the key is to view the process geometrically, rather than as a mechanical set of rules for manipulating digits.
I make no claim of originality in what follows; I offer it here in part because I can’t find any lucent discussions along these lines on the web.
Example: Find .
Start by noting that 100²=10000, while 1000²=1000000, so the root lies between 100 and 1000. Further experimentation convinces us that the root is in the six-hundreds.
Draw a square whose area is to be 388129, and whose sides have length 600 something. Our goal is to determine the tens place of the root, so we label each side as having length 600 and 10d, where d is a digit from 0 to 9.
The area of the red region is 360000; the combined area of the green regions is 12000d. The area of the remaining corner would be , which is quite small in comparison to the other regions. A reasonable guess for the value of d (the next digit in the square root) would come from setting 12000d to being close to but less than 28129 (the total area minus the 360000 we’ve committed ourselves to having). d = 2 looks appropriate, and if d = 2, the L shaped region of the square has area 12000+12000+400=24400, giving a total area (so far) of 384400, the square of 620.
We repeat the process, again with a square whose area wants to be 388129, but now whose sides have lengths 620 plus d (where d will be the ones place of the root).
We’ve found the area of the red square to be 384400; the combined area of the green regions is 1240d, and again we ignore the extremely small ; we want the area of the L shaped region to be 3729. It looks like d=3 is a good guess, and when d=3 the actual area of the L-shaped region is 1860+1860+9 =3729! We’ve successfully found that .
We’re not always so lucky with our digit guesses; sometimes you have to backtrack:
Example: Find the first four decimal places of .
Once we deduce that the lead digit of the answer is 1, we draw a square whose area will be 2, and whose sides are broken up into a portion of length 1 and a remainder. Seeking the tenths digit for the length of the side, we assume the side has length 1 + d(0.1), and proceed as before.
The red region has area 1; the two green regions have a total area of 0.2d, and for convenience we’ll ignore the relatively small area in the bottom right corner. Comparing 0.2d to the remaining area 1 (= 2 – 1), at first glance one expects to set d=5. But when d=5, the area of the L shaped region is 0.5+0.5+0.25 = 1.25, which yields a total area that is too large.
So we revise our guess, set d=4, and now find the L shaped region has area 0.4+0.4+0.16 = 0.96 < 1.
We repeat the cycle, with our square now having width 1.4 + d(0.01), where now d will be the digit in the hundredths place.
Our previous calculation shows that the red square has area 1.96; the green regions a total area of 0.028d, and again for convenience we neglect the lower right corner. Comparing 0.028d with 0.04 (=2 – 1.96), we see that d=1 is the largest possible digit to use while keeping the area no more than our goal. With that choice for d, the area of the L shaped region is 0.014+0.014+0.0001=0.0281, and the total area of the entire square is now 1.96+0.0281=1.9881.
For the next iteration, we set the width to be 1.41 + d(0.001) in order to determine the digit in the thousandths place.
The previous calculation shows that the area of the red region is 1.9881; the green regions have a total area of 0.00282d, and the right corner is negligible. We compare 0.00282d to 0.0119, and find that d=4 should work. Setting d=4, the L shaped region has an area of 0.00564+0.00564+0.000016=0.011296, and hence the entire square has area 1.9881+0.011296= 1.999396.
One continues in this way indefinitely, finding an additional digit of at each iteration.
This geometric process is equivalent to the traditional method of breaking the radicand into digit pairs, doubling the root found so far, dividing the doubled root into the remainder, etc….
Coming up in Part II: extending this method to cube roots