Roots can be written as powers; the square root of 3, for example, can be written as 31/2, and the cube root of 5 as 51/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 a0·01010101....
This in turn can be expanded as
a(0·01+0·0001+0·000001+...), which is
a0·01 times a0·0001 times a0·000001 times... etc
Now, in base two, a0·1is the square root of a, and a0·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 a0·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, if you have a scientific calculator handy you can work out higher roots automatically and more efficiently; when I developed the method described above there were few scientific calculators around, and they were very expensive.)