Hi!
Let's make a small chart
18:15 left town B
19:15 1 hour
20:15 2 hours
21:15 3 hours
Since they actually arrived at 21:05, and not 21:15, we know it took more than 2 hours, but less than 3 hours.
Subtract the extra time
21:15-21:05 = 00:10
Since there are 60 minutes in an hour, (60-10=50) we know it took 2 hours and 50 minutes.
Another way to solve this would be to convert the times to decimals, and subtract,
21.05-18.15 = 2.9
Then convert the decimal to the time.
9/10 of an hour = 50 minutes
It took 2 hours and 50 minutes
Hope this helps! :)