How would you solve this brain teaser?

I came across this little gem the other day. I was able to solve it; but in the end I think there is an easier way to solve it. I’ll add my solution so no one thinks this is homework or anything. :eek: I’m 48… I don’t want no stinkin’ homework!

Mr. Greenfield owns a fixed pasture covered with grass which grows uniformly at a constant rate. Mr. Greenfield also owns a cow, a horse, and a sheep.

The existing and growing grass in the pasture is sufficient to feed all three animals grazing together for the next 20 days. Alternatively it would feed the cow and the horse together for 25 days; the cow and the sheep together for 33 1/3 days; and the horse and sheep together for 50 days.

How long it would sustain:

The cow alone?
The horse alone?
The sheep alone?

You should assume that each animal eats at some constant rate (but necessarily all at the same rate as each other).

Cow 50 days, Horse 100 days, Sheep forever as it eats at the same as the rate of growth.

Hmmm, I guess I am missing something here. I see five variables, (1) Cow’s eating rate, (2) Sheep’s eating rate, (3) Horse’s eating rate, (4) Grass growth rate, and (5) initial amount of grass. However, I only see 4 equations to write:

Cow per day=x Horse per day=y Sheep per day=z Growth rate=f Q=initial grass
20(x+y+z)=Q+20f
25(x+y)=Q+25f
33.33(x+z)=Q+33.33f
50(y+z)=Q+50f

I’m stumped.

I did it in probably the same way as you, by combining the equations and eliminating unknowns:

e = the existing grass
g = the amount of grass that grows in one day
h = the amount eaten by the horse in one day
s = the amount eaten by the sheep in one day
c = the amount eaten by the cow in one day

We then have four equations:

  1. e + 20g = 20c + 20h + 20s
  2. e + 25g = 25c + 25h
  3. e + (100/3)g = (100/3)c + (100/3)s
  4. e + 50g = 50h + 50s

I’ll spoiler the rest, partly because it’s a mess:

[spoiler]
2) minus 1) gives 5g = 5c + 5h -20s (or 25g = 25c + 25h - 100s)
4) - 2) gives 25g = 25h + 50s - 25c

combining these gives:
50s - 25c = 25c - 100s or 150s = 50c
or c = 3s
substitute this into the original equations:

1a) e + 20g = 80s + 20h
2a) e + 25g = 75s + 25h
3a) e + (100/3)g = (400/3)s
4a) e + 50g = 50h + 50s

2a minus 1a gives 5h - 5s = 5g or h - s = g
substitute this into 4a) leads to e = 100s

substitute this into 3a):

3b) 300s + 100g = 400s or s = g

substituting 3b) into h - s = g gives
1c) h = 2s

substituting this (and s = g) into 1a gives:

1d) e + 20s = 120s or e = 100s

so e = 100s = 50h = 100g

substituting into 1a again gives:

1e) 5e + e = 100c + 2e + e or 3e = 100c
We now know all the unknowns in terms of each other:
e = 100s = 50h = 100g = 100/3c
s = g, so the sheep can be sustained forever- it just eats the daily growth

the horse: combining terms above gives e + 100g = 100h, so the horse can be sustained for 100 days

the cow: e + 50g = (100/3)c + (100/6)c = 50c - the cow can be sustained for 50 days. [/spoiler]

I did it with math, came up with the right answer, don’t have any cute trick of any sort, curious to see if there is one.

I wasn’t looking for a cute trick. But so much the better if there is one. Did you just write out formulas and solve with substitution? Deep in the recesses of my memory is a way to solve by putting all the formulas in a matrix or something; but the details are fuzzy.




This is a neat little puzzle! I want to see if my kids can get it.

Correct. When you’re done you still won’t know what Q is. This makes sense, since the solution’s the same if pasture and animals’ hungers all double (or triple).

Once you see that Q is unsolvable, you can treat it as constant. Q=100 is a good choice; it makes all the numbers (after division) quite small.

Solving for sheep’s survival time, x, I got
1 + x = x
I hope no math purist objects that I just “simplified” this to
x = ∞
and went on!

I got different answers.

I set it up where units are expressed as pasture/day. Each animal eats a certain amount of pasture in a day, so the cow eats c pastures per day, the horse eats h pastures a day, and the sheep eats s pastures a day. The grass grows g pastures a day, which is effectively a negative eating rate, so g will be subtracted from the animals’ eating rates.

Since it takes 20 days for the three animals to eat one pasture while the grass grows, c + h + s - g = 1 pasture per 20 days. It takes 25 days for the cow and horse to eat a pasture while the grass grows, so c + h - g = 1 pasture per 25 days, and so on.

So, this sets up 4 equations:

c + h + s - g = 1/20
c + h - g = 1/25
c + s - g = 1/33.3
h + s - g = 1/50

After doing substitutions and whatnot, we wind up with

c = 3/100, h = 2/100 and s = 1/100. g = -1/100.

The cow eats 3 pastures in 100 days, the horse eats 2 pastures in 100 days, and the sheep eats 1 pasture in 100 days. So, the pasture sustains the cow for 33 1/3 days, the horse for 50 days, and the sheep for 100 days.

These values comprise the amount the animals eat minus the amount that grows back. We don’t need to subtract growth rate again. I think that’s how you guys got 50, 100 and infinity for your answers.

Row reduction or Gaussian elimination ring a bell?

That would be it. Or, because it’s easy to do in this case, just get all the equations that treis came up with in post #2 into common units, and subtract, i.e. go from

Cow per day=x Horse per day=y Sheep per day=z Growth rate=f Q=initial grass
20(x+y+z)=Q+20f
25(x+y)=Q+25f
33.33(x+z)=Q+33.33f
50(y+z)=Q+50f

to



1) 100x + 100y + 100z = 5Q + 100f
2) 100x + 100y             = 4Q + 100f
3) 100x             + 100z = 3Q + 100f
4)             100y + 100z = 2Q + 100f


and by subtracting (1) - (2), (1) - (3), (1) - (4), respectively, you get



5) 100z =  Q
6) 100y = 2Q
7) 100x = 3Q


Substututing these back into (1), you get

  1. Q = 100f

so you’re starting off with 100 days’ worth of growth on the field.

Then you substitute (8) back into (5), (6), and (7) to get

  1. x = 3f
  2. y = 2f
  3. z = f

Then let N be the number of days it takes an animal to eat up all the grass.

For the cow, horse, and sheep, respectively, that’ll give you

N3f = 100f + Nf
N2f = 100f + Nf
Nf = 100f +Nf

The f’s drop out, and we subtract N from both sides in the first two, to get

2N = 100 for the cow, so N = 50: the cow eats all the grass in 50 days.
N = 100 for the horse, so the horse eats all the grass in 100 days.

And for the sheep, we get N = 100 + N, which is false for any finite value of N, but true if N is infinite.

A more commonsensical way to solve the sheep from (11) is that the sheep eats as much each day as the grass grows in a day, so if the sheep is the only animal in the field, the 100 days’ worth of grass already on the field never gets eaten into.

ETA: This is basically what hammos1 did, only a bit neater due to getting 100’s everywhere.