Question 70515
First you have to have a good idea of what's
going on.
You've got 1 infected computer to start with
Then you've got 1 + 20 total
Each of the 20 newly infected computers infect 20 more
Now you have 1 + 20 + 20*20 infected
Each of the 20*20 newly infected computers infect 20 more
Now you have 1 + 20 + 20*20 + 20*20*20 infected
or {{{1 + 20^1 + 20^2 + 20^3}}}
call this sum S and carry it out to n places
{{{S = 1 + 20^1 + 20^2 + 20^3}}}+ ... +{{{ 20^n}}}
subtract 1 from both sides
{{{S - 1 = 20^1 + 20^2 + 20^3}}}+ ... +{{{ 20^n}}}
divide both sides by 20
{{{(S - 1) / 20 = 1 + 20^1 + 20^2 + 20^3}}}+ ... +{{{ 20^(n-1)}}}
The right side of this equation is {{{S - 20^n}}}
{{{(s - 1) / 20 = S - 20^n}}}
multiply both sides by 20
{{{S - 1 = 20S - 20^(n+1)}}}
{{{19S = 20^(n+1) - 1}}}
{{{S = (20^(n+1) - 1) / 19}}}
For the case n = 4
{{{S = 1 + 20^1 + 20^2 + 20^3 + 20^4}}} or
{{{1 + 20 + 400 + 8000 + 160000 = 168421}}}
Now check the formula
{{{S = (20^(n+1) - 1) / 19}}}
{{{S = (20^5 - 1) / 19}}}
{{{S = (3200000 - 1) / 19}}}
{{{S = 3199999 / 19}}}
{{{S = 168421}}}
The formula works, Now what does n have to be for
S to be at least 100,000,000?
let's try n = 10
{{{S = (20^11 - 1) / 19}}}
{{{S = (2.048*10^14 - 1) / 19}}}
This is bigger than 10^9
Let's try n = 8
{{{S = (20^9 - 1) / 19}}}
This is roughly {{{27*10^9}}}
Let's try n = 7
{{{S = (20^8 - 1) / 19}}}
This is roughly {{{1.28*10^9}}}
So, the number of computers infected goes over 
100 million between 6 and 7 5-minute intervals
To find the answer exactly,
{{{10^9 = (20^(n+1) - 1) / 19}}}
{{{20^(n+1) - 1 = 19*10^9}}}
{{{20^(n+1) = 19*10^9 + 1}}}
{{{(n+1) log(20) = log(19) + 9*log(10)}}} (ignoring the +1)
{{{1.301*(n+1) = 1.279 + 9}}}
{{{1.301n + 1.301 = 10.279}}}
{{{1.301n = 8.978}}}
{{{n = 6.901}}} 5-minute intervals
{{{6.901*5 = 34.5}}} minutes
So, 100 million computers are infected in
34 minutes and 30 seconds approximately