Součin věků je 36:
Dělitele čísla 36 - 1, 2, 3, 4, 6, 9, 12, 18 a 36
1)

(součet 10)
2)

(součet 11)
3)

(součet 13)
4)

(součet 16)
5)

(součet 38)
6)

(součet 14)
7)

(součet 13)
8)

(součet 21)
Jestliže příteli nestačilo k určení číslo domu, muselo to být číslo 13 (vyskytuje se u dvou variant)
A jestliže je nejstarší syn jeden ("Nejstarší syn se jmenuje...), může se vyloučit varianta 6, 6 a 1.
Zbývá tedy jediná možnost 9, 2 a 2.
Tomášovým synům je 9 let, 2 roky a 2 roky.