T=7D
T=3H
pretty obvious? but here's the catch: T, D and H MUST all be integers, which means they can't be fractions. (you may be happy with four-sevenths of a crayon, but i'm quite sure that neither tom, dick nor harry will be, so we'll assume that they have "integer" number of crayons.)
so what you're supposed to do is to find the largest integer smaller than 21 that's divisible by 3, which is 18, that will be the maximum number of crayons that dick can have. so tom will have a maximum of 7*18=126 crayons.
if you understand it all just by reading the above paragraph, good for you :) if you don't...
here's the trial-and-error method:
T=7D
T=3H
first you gotta know that the max number of crayons that Tom can have is 7*(the max number of crayons that Dick can have), this should be quite obvious. since Dick has less than 21 crayons, try 20 first:
T=7*20=140
but if this is the case, then Harry would have this number of crayons:
H=140/3=46and2/3
he's not gonna be happy with 2/3s of a crayon. so the idea is to find a (7*T) that's divisible by 3, which means you have to find a T that's divisible by 3 (since 7 isn't divisible by 3). should we try 19? it isn't divisible by 3 so we KNOW it's wrong, but just to convince ourselves...
T=7*19=133
Harry will have this number of crayons:
H=133/3=44and1/3
see? another fraction. next we try 18, which is divisible by 3, which is why it's the correct answer :)
T=7*18=126
H=126/3=42
yay! Harry's finally got an integer number of crayons. so in fact, you can find the max number of crayons that Tom, Dick and Harry can have, which is 126, 18 and 42 respectively, (although the question didn't ask for that).