So, say you get a 8% yearly return. Then in 72/8 = 9 years your money will double. And so on...

I got curious. Why does this work ?

Well, lets see... I'll convert the percentages to fractions: 8% -> 0.08, etc.

Here's a useful formula (called "compound interest"): `(1+p)^n`, given p - the interest fraction (say 0.08, for 8%) and n - number of years, the formula tells me the factor by which my money will be multiplied. So, with 8% for 5 years it's: `(1.08)^5 = 1.469`, so I'll earn a total of 46.9% after 5 years.

Good. Now, to formulate our original question: `(1+p)^n = 2` - that is, given some p, what n will bring me to 2, or in words: given a percentage of interest, after how many years will my money double (be multiplied by a factor of 2) ?

To solve this equation, I'll take a logarithm on both sides:
`ln[(1+p)^n] = ln[2] => n = ln2/ln(1+p)`

Ahuh ! Now we have just what we need on the left side - our answer "n" (how many years...) OK, so now just to sort out the mess on the right side:

Since `p < 1`, we can expand the logarithm into Maclaurin series:

`ln(1+x) =~ x - (x^2)/2 + (x^3)/3 - (x^4)/4 ...`
I'll make a crude approximation and take only the first term: x

So, now our equation turns into an approximation:
`n =~ (ln2)/p`

Recall that p is a fraction. Lets say that P is the percent, so `P = 100*p`, and `n =~ (ln2)/(P / 100) => n =~ (100*ln2)/P`

We're getting closer to the rule of 72: 100 * ln2 is actually 69.31, not quite 72 yet, but close. What can we do to make it closer ? Improve our approximation, of course.

So, lets make a finer approximation of ln(1+x). Lets take the first three terms:
`ln(1+x) =~ x - (x^2)/2 + (x^3)/3 `

So, our formula is now:
`n =~ (ln2)/(p - (p^2)/2 + (p^3)/3)`

This formula will generate results much closer to the "rule of 72" (try it !). There's no analytic solution for higher orders, but when plotted, the following two functions are very close (remember, p is a fraction):

Rule of 72: `n = 72 / 100 * p`
Compound interest: `n = n = ln2/ln(1+p)`

The better ln(1+p) is approximated, the closer to rule of 72 we get. Note one curiosity here: Maclaurin series for ln(1+p) converge well when p is small relatively to 1. The larger p is, the worse the approximation. So, I would expect that the rule of 72 would work badly for high percentages.

For instance, if I have a yearly interest of 45% (I'd wish !!), how long will it take to double my money ? Lets use the rule of 72: 72/45 = 1.6 years. OK, now lets solve `n = ln2/ln(1+p)` precisely (w/o approximating ln(1+p) with series) with a calculator, for p = 0.45:

`n = ln2/ln(1.45) = 1.86549`

There's obviously a serious discrepancy here... If we place both solution in the compound interest formula as "n" (`(1+p)^n`), we'd expect to get 2. Lets try it:

Rule of 72: 1.45^1.6 = 1.81 Exact: 1.45^1.86549 = 2.0000018

So, indeed, the rule of 72 is not good for high percentages. But high percentages are unrealistic anyway... so the rule of 72 is good enough for our use in "normal" interest rates. For rates lower than 15% the error of rule of 72 is less than 3%, which is good enough.