Square Roots Without a Calculator

Dr. Math FAQ || Classic Problems || Formulas || Search Dr. Math || Dr. Math Home

#### How do you find the square root of a number by hand? What about cube roots?

The square root of a number is just the number which when multiplied by itself gives the first number. So 2 is the square root of 4 because 2 * 2 = 4.

Start with the number you want to find the square root of. Let's use 12. There are three steps:

1. Guess
2. Divide
3. Average.

... and then just keep repeating steps 2 and 3.

First, start by guessing a square root value. It helps if your guess is a good one but it will work even if it is a terrible guess. We will guess that 2 is the square root of 12.

In step two, we divide 12 by our guess of 2 and we get 6.

In step three, we average 6 and 2: (6+2)/2 = 4

Now we repeat step two with the new guess of 4. So 12/4 = 3

Now average 4 and 3: (4+3)/2 = 3.5

Repeat step two: 12/3.5 = 3.43

Average: (3.5 + 3.43)/2 = 3.465

We could keep going forever, getting a better and better approximation but let's stop here to see how we are doing.

3.465 * 3.465 = 12.006225

That is quite close to 12, so we are doing pretty well.

#### Square Roots Using Infinite Series

Another way of computing square roots is to use the Binomial Theorem. The most general form of this gives the following infinite series:
```(1+x)t = 1 + tx/1!
+ t(t-1)x2/2!
+ t(t-1)(t-2)x3/3! + . . .
+ t(t-1)...(t-k+1)xk/k! + . . .
```
where t is real.

Notice that to get the xk+1 term of the series from the xk term, just multiply by (t-k)x/(k+1).

This only converges if |x| < 1. You want to apply this to taking the square root of any positive real number a. That means that t = 1/2. One way to proceed is as follows.

Find positive rational numbers b and c such that

```max[(b-1)/c,b/(c+1)]2 < a < (b/c)2,
max[(b-1)/b,c/(c+1)]2 < a(c/b)2 < 1.
```
This means that b/c is a reasonable approximation to a1/2, and a little larger than it. Let d = a(c/b)2. Then d1/2b/c = a1/2, and the problem is reduced to finding d1/2 where
```1/4 <= max[(b-1)/b,c/(c+1)]2 < d < 1.
```
Now let x = d - 1. Then at worst -3/4 < x < 0. Now apply the infinite series:
```d1/2 = (1+x)1/2

= 1 + (1/2)x/1!
+ (1/2)(-1/2)x2/2!
+ (1/2)(-1/2)(-3/2)x3/3!
+ (1/2)(-1/2)(-3/2)(-5/2)x4/4!
+ (1/2)(-1/2)(-3/2)(-5/2)(-7/2)x5/5! + . . .

= 1 + (1/2)x
- (1/8)x2
+ (1/16)x3
- (5/128)x4
+ (7/256)x5
- (21/1024)x6
+ (33/2048)x7 - ...
```
This converges faster than a geometric series with common ratio -x, so the number of terms to give m-place accuracy is at most m/log10(-x). If convergence is too slow for your taste, go back and pick a different b and c with larger values. This will reduce the size of -x. Once you have d1/2, you can find
a1/2 = d1/2b/c.

Example: Find the square root of 821 to four decimal places.

We find that one choice of b and c is b = 28, c = 1, because

```282 = 784 < 821 = a < 841 = 292.
```
Then we will find the square root of d = 821(1/29)2 = 821/841. x = d - 1 = -20/841 = -0.0237812128. Using the series, we find that
```(821/841)1/2 = 1 - 0.0118906064
- 0.0000706933
- 0.0000008406
- 0.0000000125
- 0.000000002

= 0.9880378470

8211/2 = (0.9880378470)29

= 28.65309756

```
To four decimal places, 8211/2 = 28.6531.

Choosing perfect squares on each side of x works very well for large a, like the 821 used in the example, but very poorly for 0 < a < 1.

One just needs to start with some pretty good rational approximation b/c, larger than the square root, so that both (b-1)/c and b/(c+1) are smaller than the square root. The better the approximation, the better the convergence rate. That usually means the larger b and c are chosen, the better the rate. One way to choose b and c is to let c be a power of 10, c = 10-e, with e an integer such that a/100 < 100e < a.

If a > 1, e = [[(n-1)/2]] >= 0, where n is the number of digits in a to the left of the decimal point. ([[x]] here means the greatest integer no larger than x.)

If a < 1, then e = [[(-m-1)/2]] < 0, where m is the number of zeroes in a between the decimal point and the first significant digit. Then ac2 lies between 1 and 100.

Pick b such that b2 is the next square larger than ac2. Then 2 <= b <= 10. This requires knowing the squares of numbers in this range. This choice of b and c works for every a.

Using this method for a = 821, e = 1 and c = 1/10. Then we get ac2 = 8.21, so b = 3 works, and

```
20 = (b-1)/c < a1/2 < b/c = 30.
```
Then d = ac2/b2 = 821/900 and d - 1 = x = -79/900 = -0.0877777777, which is plenty small enough to give rapid convergence. Picking b = 29 and c = 1 gave better convergence, since then x = -0.02378.

Example:

Here is an example with a small value of a. To find the square root of a = 0.000000379, you can choose c = 104, so a*c^2 = 37.9. Then b = 7 will do, and d = 37.9/49 = 0.7734694, so x = -0.2265306 Then

```d1/2 = 1 - 0.1132653
- 0.0064145
- 0.0007265
- 0.0000163
- 0.0000028
- 0.0000005
- 0.0000001

= 0.879471
```
and therefore
```          a1/2 = 0.879471*7/10000,

0.0000003791/2 = 0.0006156297,
```

approximately.

There are more answers to this question in the Dr. Math archives. See:

For square roots in general, see

#### Cube Roots

From the Dr. Math archives: