To do a square root on an abacus, you use partitions to do a paper algorithm for square root using the abacus. The catch is that most people don’t even *remember* how to do square roots on paper, if they ever learned it at all. (In fact, in school, *I* didn’t learn the classical paper algorithm; we never really did roots on paper; the closest we did was using square root as an example of Newton’s method. Like so much of my basic math, I learned this from my father.)
So, for your entertainment and edification, today, I’ll describe the classical algorithm for computing square roots on paper. I’ll also show you just why it works.
Suppose you want to take the square root of *n*. Start by writing down *n*. The algorithm is going to work using *pairs* of digits, so you need to divide the number into *pairs* of digits. A pair *can’t* cross the decimal point, so start at the decimal, and break into pairs going both right and left. If you don’t have enough digits, you pad out the ends with zeros.
So let’s do that much with an example, Let’s say we wanted to take the square root of 513.5. The pairing would look like:
05 13. 20
Now, start with the first pair, and approximate: what’s the single digit that is *closest* to being the square root of that pair? Write that down *above* the first pair. Then take the square of that digit, and write it *beneath* the pair, and subtract.
So with our example, the first pair is “05”. The closest single digit approximation of the square root is “2”. So we’d write “2” above the “05”; and “4” beneath it, and subtract. The number on *top* of the radical is the current root estimate, which we’ll call *est*; the result of the subtraction is the current remainder.
2 /-------- / 05 13. 20 4 ---- 1
That’s the setup. Now we get to the part where we iterate. We’ll take the next pair from the number we’re taking the square root of, pull it down, and write it next to the current remainder. The current remainder concatenated with those two digits is the *target number* for this iteration, which we’ll call *t*. What we want to do in the iteration is find a number *x* for which (20×*est*+n)×n ≤ t. That number *x* will be the next digit of the square root. So we’ll write *x* on top of the radical as the next digit; and subtract (20×*est*+x)×x from the target.
So we take the *est*, multiply it by 20; and write it down next to the current target:
2 /-------- / 05 13. 20 4 ---- (40) 1 13
Now, we need to approximate again. What’s the largest *x* for which (40+x)×x ≤ 113? 3×43=123, so 3 is too large. 2×42=84. So the next digit is two. So we write 2 on top of the radical, and subtract 84 from the target. Then we pull down the next two digits, and repeat.
/ 05 13. 20