# New roots for old...

### Or, how to produce cube and other roots from square ones

A basic calculator usually has a key for square roots, but not for higher ones, so, if you want, say, the cube root of 5, how can you get it from your calculator?

Roots can be written as powers; the square root of 3, for example, can be written as 3^{1/2}, and the cube root of 5 as 5^{1/3}.
How can we use this information with our basic calculator?

This is where a knowledge of number-bases comes in handy.
In base two one-third can be expressed as 0·01 01 01 01 ..., so we can write the cube root of a as a^{0·01010101....}

This in turn can be expanded as

a^{(0·01+0·0001+0·000001+...)}, which is

a^{0·01} times a^{0·0001} times a^{0·000001} times... etc

Now, in base two, a^{0·1}is the square root of a, and a^{0·01} is the fourth root of a, or the square root of (the square root of a). This being rather a mouthful, let's write sqr(a) for convenience for "the square root of a", and then we can write a^{0·01} = sqr(sqr(x)) etc.

So I can calculate the cube root of, say, 5, by calculating:

- a=sqr(sqr(5)); and store the value of a
- b=sqr(sqr(a)); and store the value of b
- c=sqr(sqr(b)); and store the value of c
- and so on,

finally approximating to the cube root of 5 as:

a, a*b, a*b*c, a*b*c*d and so on. (Using * to mean "multiply")

For other roots you will need to write down the binary representation of the fraction:

for example, one-fifth = 0·0011 0011 0011 ..., one-seventh = 0·001 001 001 ...

(Of course nowadays if you have a scientific calculator handy you can work out higher roots automatically and far more efficiently; when I developed the method described above there were few scientific calculators around, and they were hideously expensive. But it might be of interest to someone...)