Calculator Magic #7Extra Decimals for Square Roots

Ten Digits for the Price of Seven

Prerequisite: Introduction to Programming a Four-Function Calculator

That page details an iterative manual method for extracting square roots using Ted's Continued Fraction; so I won't elaborate here, except to reiterate that this method permits one to resolve just part of the root — ideally, only the decimal portion:

Let's investigate the square root of 19, with an estimate of 4.  The CF looks like this:

This is quickly resolved on the calculator, using our 'bottom-up' approach:

3 ÷ 8

+ 8 ÷ 3 ÷ = add 8, divide into 3

+ 8 ÷ 3 ÷ = Casio: [+ 8 ÷ ÷ 3 =]

Two more iterations beget an accurate decimal portion of the root:  {.358899}.  Of course, you could simply have used the [sqrt] key in the first place — and you might as well here, because we are interested in greater things.

19 [sqrt] =  {4.3588989}

Now we add as many pairs of zeros to 19 as we can, to a limit of 8 digits: 19000000.  Each pair of zeros increases the square root of the number by a factor of 10: sqrt(19000000) = sqrt(19) × 103= 4358.8989...

Observe that 4358 conveniently represents the greatest integer which perfect square is less than 19000000, making it ideal for use in the next continued fraction.  Let us calculate sqrt(19000000) with an estimate of 4358.  This is the CF:

Fortunately, we don't have to remember all those numbers.  The numerator of the fraction can be handled automatically:

19000000 M+

4358 ×(×) = M- (n-e2) now in memory

2 = denominator in display

÷ MR ÷ = Casio: [÷ ÷ MR =]

+ 8716 ÷ MR ÷ = Casio: [+ 8716 ÷ ÷ MR =]

+ 8716 ÷ MR ÷ = {.8989435}

Three iterations are all it took, despite the size of CF.  Add that value to 4358 and move the decimal back where it started, leaving 4.3588989435, accurate to 9 decimal places!  Being able to move three digits to the left of the decimal point freed up space to calculate three more.

Let's try another one: sqrt(1234) = 35.128336

This one can be increased only by a factor of 104, to 12340000.  The root increases to 3512.8336... using the same procedure as before, with an estimate of  3512:

12340000 M+

3512 ×(×) = M-

2 =

÷ MR ÷ = or [÷ ÷ MR =]

+ 7024 ÷ MR ÷ = or [+ 7024 ÷ ÷ MR =]

+ 7024 ÷ MR ÷ = {.833614}

This one required only two iterations, plus one for verification.  Add this to the estimate, move the decimal back, and we have the root: 35.128336140

HANDLING VALUES LESS THAN 1

Ted's Continued Fraction works only when n is greater than 1.  If the number is less than that, it can be expanded by factors of 100 until it is greater than 1.  It makes no difference where the decimal point was located originally; the digits work the same.  Any n that can be typed into the display can be processed.

For any calculator with a typical 8-digit display, the accuracy of this method is constant at ten significant digits, irrespective of the size of the number.  Eleven digits are calculated; but the last one cannot be trusted.

One nifty feature of processing these types of iterative series is that it doesn't even matter whether a mistake is made along the way!  Any error in calculation is absorbed by subsequent iterations, although one or more additional loops would then be required in order to achieve a specified accuracy.