It rained all morning, and now it is too soggy to mow the lawn, so here is the answer to the weed problem of 27 May 2007.

This is what the weed problem said:

A gardener has a patch of weeds. She pulls up 600 weeds every morning. Every afternoon the number of weeds goes up by 10%. After 10 days she has pulled up all the weeds (so she pulls up 6000 weeds altogether). How many were there to start with?

I received two solutions, both of which were different from my way of doing the problem, so you, lucky reader, get three solutions.

Solution 1: numerical

Sharon solved the problem by using Matlab code (Matlab is a specialist mathematical programming language) as follows:

D=zeros(10,1);

D(10)=600;

for n=9:-1:1, D(n)=D(n+1)/1.1+600; end

The solution is D(1). You can also do the same thing in a spreadsheet: put 600 in cell A1, then type “=A1/1.1+600” (without the quotes) into cell A2. Copy cell A2 to cells A3 to A10. Cell A10 then contains the answer, which is 4055.414, or 4055 to the nearest whole weed.

This solution would be accessible to the brightest GCSE maths students, as long as they realise that to increase something by 10% you multiply by 1.1, and therefore to undo the increase you divide by 1.1.

Solution 2: use of geometric progressions

For this solution you need knowledge of AS level maths (first year of sixth form). It is one of the harder geometric progressions problems. What you do is to write out the number of weeds at the end of each day, and spot the pattern.

Note that the number of weeds at the end of a day is given by 1.1(w-600) where w is the number of weeds at the end of the previous day. Also note that I am using the ^ sign to denote “to the power of” and * for “multiplied by”.

Suppose the initial number of weeds is n.

At the end of Day 1, there are 1.1(n-600) weeds which is 1.1n – 1.1 * 600

At the end of Day 2, there are 1.1(1.1n – 1.1 * 600 – 600) weeds, which is (1.1^2)n – 1.1^2 * 600 – 1.1 * 600

At the end of Day 3, there are 1.1((1.1^2)n – 1.1^2 * 600 – 1.1 * 600 – 600) weeds, which is (1.1^3)n – 1.1^3 * 600 – 1.1^2 * 600 – 1.1 * 600

At the end of Day 4, there are 1.1(1.1^3)n – 1.1^3 * 600 – 1.1^2 * 600 – 1.1 * 600 – 600) weeds, which is

(1.1^4)n – 1.1^4 * 600 – 1.1^3 * 600 1.1^2 * 600 – 1.1 * 600

Rearranging a little bit, this becomes

(1.1^4)n-600(1.1+1.1^2+1.1^3+1.1^4)

By now the astute AS level student will have recognised the last bracket as the sum of a geometric progression, and will replace it with the formula. This gives

Number of weeds at the end of Day 4 = (1.1^4)n – 600*1.1*(1.1^4-1)/(1.1-1)

which, believe it or not, simplifies to (1.1^4)n – 6600*1.1^4 + 6600.

By following the pattern, the number of weeds at the end of Day 10 is

(1.1^10)n – 6600*1.1^10 + 6600.

This, of course, is equal to 0, and therefore

n = 6600 – 6600/1.1^10

which also comes to 4055 to the nearest weed.

Solution 3: use of recurrence relations.

This solution was sent in by Dave. It requires undergraduate level maths. I reproduce his solution below.

I did the weeds problem by initially thinking of it as a continuous (rather than discrete) system i.e. the weeds are pulled up steadily at a rate of 600 per day (including all night) while simultaneously reproducing at an exponential rate of 10% per day. Although this is not quite the same problem (and therefore won’t have the same answer) it gives a clue as to the type of general solution that the discrete problem will have. The continuous problem can be expressed as:

Dw/dt = 0.1*w – 600 where w is number of weeds and t is time.

This has a solution of the form w = a*exp(0.1*t) + b where a and b are constants. The exact values of a and b can be found but are not important as it’s the type of solution that matters. For the discrete system, instead of a differential equation we have a recursive equation i.e.

A(n+1) = 1.1*(a(n) – 600)

In this the index n is equivalent to time t in the continuous system, so we can look for a solution of the form a(n) = c*d^n + f, where c, d and f are constants. Shoving this in the difference equation gives

C*d^(n+1) + f = 1.1*(c*d^n + f – 600)

Equating everything, d must be 1.1, and f = 1.1*(f – 600) giving f = 6600. So we have

A(n) = c*(1.1)^n + 6600

Also we know that a(9) = 600 = c*(1.1)^9 + 6600 giving c = -6000/(1.1)^9, so we end up with

A(n) = -6000*(1.1)^n/(1.1)^9 + 6600

The answer to the problem is the value of A(0), so substitute n=0 into the above equation and once again you get 4055 weeds.

So there you have it: three solutions to the weed problem. If you have got this far, I bet you really wish I’d mowed the lawn instead.