# 3 Brothers ages

We are 3 brothers, we like multiplying our ages each other.
m years later the result is m times than today
n years later the result is also n times than today

How old we are?

(m and n is not equal)

• What does we like multiplying our ages each other EXACTLY mean? If they're x, y, z years old, that means x*y*z, right? Aug 21 '16 at 0:06
• @Vucko, yes, that is what I mean. Aug 21 '16 at 0:07

If an integer answer is needed, they can be

$5$, $6$ and $12$ years old,

while $n$ and $m$ are

$3$ and $4$.

Check:

now:
$5\times6\times12=360$

$3$ years later:
$(5+3)\times(6+3)\times(12+3)=8\times9\times15=1080=360\times3$

$4$ years later:
$(5+4)\times(6+4)\times(12+4)=9\times10\times16=1440=360\times4$

I think they are

$5$, $7.5$ and $10$ years old

$n$ and $m$ are

$2.5$ and $5$

Checking the results:

now:
$5\times7.5\times10=375$

$2.5$ years later:
$(5+2.5)\times(7.5+2.5)\times(10+2.5)=7.5\times10\times12.5=937.5=375\times2.5$

$5$ years later:
$(5+5)\times(7.5+5)\times(10+5)=10\times12.5\times5=1875=375\times5$

• I think it's not allowed for years to be real numbers, only integers. Aug 21 '16 at 0:10
• Good try, but we need integer values. Ages, m and n must be integer. Aug 21 '16 at 0:21

Here's my first python code/analysis to get the result. Ignore optimization (I just needed to practice my python :-) ) and assume integer ages

a=[]
b=[]
c=[]

for i in range(1,121):
a.append(i)
b.append(i)
c.append(i)

for a_age in a:
for b_age in b:
for c_age in c:
if (a_age>=b_age and a_age>=c_age and b_age>=c_age):
today = a_age*b_age*c_age
m=0

while m<120:
m = m+1
r1 = today*m
r2 = (m+a_age) * (m+b_age) *  (m+c_age)

n=m
while (n<120):
n=n+1
r3 = today*n
r4 = (n+a_age) * (n+b_age) *  (n+c_age)

if r1==r2 and r3==r4:
print ("found it ",a_age , " ", b_age ," ",c_age, " where m=",m, "and n=",n)


and the result comes as:

('found it ', 12, ' ', 6, ' ', 5, ' where m=', 3, 'and n=', 4)