Calculator Magic #7 Extra Decimals for Square Roots |

Ten Digits for the Price of Seven

Prerequisite:
Introduction to Programming a Four-Function Calculator

Suggested Advance Reading:
Ted's Continued Fraction for Square Root

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) × 10^{3}= 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-e^{2}) 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 10^{4},
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 numbers 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 would be absorbed by subsequent iterations, although one or more additional loops would then be required in order to achieve a specified accuracy.