Let the number of blocks used for building a house be x, the number for a road be y, and the total number of blocks be z.
If he builds 6 houses, he will be short 120 tiles. This means that:
[tex]\begin{gathered} 6x=z+120 \\ z=6x-120\text{ ------------------\lparen1\rparen} \end{gathered}[/tex]If he builds 2 houses and 5 roads, he will have 10 tiles left. This means that:
[tex]2x+5y=z-10\text{ ---------------------\lparen2\rparen}[/tex]If each road takes 30 tiles to build, this means that:
[tex]y=30[/tex]Therefore, we have from equation (2):
[tex]\begin{gathered} 2x+5(30)=z-10 \\ 2x+150=z-10 \\ \therefore \\ 2x=z-10-150 \\ 2x=z-160\text{ --------------------\lparen3\rparen} \end{gathered}[/tex]Putting the value of z from equation (1) into (3), we have:
[tex]\begin{gathered} 2x=6x-120-160 \\ 2x-6x=-120-160 \\ -4x=-280 \\ \therefore \\ x=\frac{-280}{-4} \\ x=70 \end{gathered}[/tex]Hence, the value of z can be calculated to be:
[tex]\begin{gathered} z=6(70)-120 \\ z=420-120 \\ z=300 \end{gathered}[/tex]Therefore, he has 300 Lego blocks.