Try and visualize it. Since John moves faster than Mary, they will pass each other 300m beyond the midpoint (not before). Thus we get:

J --------------------------- MIDPOINT ----- X ---------------------- M

So this means, John has covered exactly 600m more distance than Mary, just by going 4km/h faster (do you see why? this is the key to solving this problem). Putting this into equations (600m = 0.6km, we are working in km/h here):

Therefore using we get:

Which simplifies to , thus (hours). This is 9 minutes, therefore Mary and John will pass each other at 9:09am.

By drawing a diagram, can you see how to solve question (b) now?

EDIT: had made a mistake converting 0.15 to minutes... fixed now.