Let's calculate the distance the first train travels by the time the second train departs.
The first train leaves New York at 10 a.m. and travels at an average speed of 60 mph. By the time the second train departs at noon, the first train has been traveling for 2 hours.
Distance traveled by the first train in 2 hours: \[ \text{Distance} = \text{Speed} \times \text{Time} = 60 \text{ mph} \times 2 \text{ hours} = 120 \text{ miles} \]
Now, the second train leaves at noon and travels at a speed of 100 mph. We want to find out how long it takes for the second train to catch up to the first train.
Let \( t \) be the time in hours after noon that the second train travels until it catches up with the first train. In that time, the second train will cover a distance of: \[ \text{Distance of second train} = 100t \text{ miles} \]
During the same time \( t \), the first train continues to travel at 60 mph. The total distance traveled by the first train from its departure time (10 a.m. to \( t \) hours after noon) will be: \[ \text{Distance of first train} = 120 \text{ miles} + 60t \text{ miles} \]
To find when the second train catches up, we set the distances equal to each other: \[ 100t = 120 + 60t \]
Now, simplify and solve for \( t \): \[ 100t - 60t = 120 \] \[ 40t = 120 \] \[ t = \frac{120}{40} = 3 \text{ hours} \]
Thus, it will take the second train 3 hours after it departs to catch up with the first train.
Therefore, the answer is: \[ \boxed{3 \text{ hours}} \]