Hay, al menos, dos formas de enfocar la resolución de este problema:
1) Una forma consiste en sacar toda la artillería matemática y matar el problema de la mosca a cañonazos (a la mosca no porque ya falleció en el choque). Podría ser así:
En el primer vuelo de la mosca, sea A la locomotora de partida y B la de destino, sea D la distancia que las separa (sabemos que D = 100 Km, pero esto de momento es irrelevante). Mientras que la locomotora B marcha hacia la mosca a 50 Km/h, la mosca marcha hacia esa locomotora a 100 Km/h, es decir, al doble de velocidad. Por tanto, cuando se encuentren, la mosca habrá recorrido forzosamente el doble de distancia que la locomotora. Para ello la mosca habrá tenido que recorrer 2/3 de la distancia que las separa y la locomotora sólo 1/3. Conviene tener presente que mientras esto sucede, la locomotora A (de la que partió la mosca) ha recorrido la misma distancia que la B, que es 1/3 de la distancia inicial entre ambas locomotoras, pero en dirección contraria, circulando, podríamos decir, detrás de la mosca, pero más despacio.
Por lo tanto, cuando la mosca llega a la locomotora B y va a iniciar su vuelo hacia A, la distancia que separa a ambas máquinas es 1/3 de la distancia inicial D (puesto que cada una de ellas ha recorrido ya 1/3 de la distancia que las separaba inicialmente). Sobre esta nueva distancia el proceso se repite y la mosca recorre 2/3 de la distancia actual (2/3 x 1/3 = 2/9 de la distancia inicial D) mientras que las locomotoras, acercándose, reducen la distancia entre ambas a 1/3 de la actual (1/3 x 1/3 = 1/9 D) y así sucesivamente. Por lo tanto, en los sucesivos vuelos de la mosca tenemos:
Observamos que las distancias recorridas en los sucesivos vuelos forman una progresión geométrica (término inicial: a1=2D/3, término n-simo: an=2D/3^n, razón: r= 1/3) por lo que aplicando la fórmula de la suma para este tipo de progresiones se obtiene fácilmente la suma de las distancias recorridas (o distancia total recorrida) hasta el vuelo n-simo, que es la indicada [(1-1/3^n)D]. Se han incluido los valores de las distancias totales en los 4 primeros vuelos para llamar la atención sobre el hecho de que la distancia total recorrida se acerca rápidamente a la distancia inicial. Igualmente vemos que la suma de distancias o distancia total en el vuelo n-simo se acerca tanto a la distancia inicial D, como queramos, sin más que considerar un "n" suficientemente grande. De hecho, la distancia total recorrida por la mosca hasta el choque es el límite de la expresión de la suma de distancias recorridas hasta el vuelo n-simo cuando "n" tiende a infinito, que es 1D, es decir, es precisamente la distancia inicial entre los trenes, D. En este problema la mosca habrá volado en total 100Km (distancia inicial).
2) Otra forma, que probablemente hayáis utilizado, es igualmente lógica y más sencilla:
Como las dos locomotoras A y B circulan una hacia la otra, ambas a la misma velocidad, cuando ocurra el choque cada una de ellas habrá tenido que recorrer la mitad de la distancia que las separa; como dicha distancia es de 100 Km, habrán recorrido 50 Km cada una de ellas. Dado que ambas circulan a 50 Km/h, el choque tendrá lugar exactamente dentro de una hora. Por su parte la mosca empieza a volar en este momento y no para de volar hasta que las locomotoras chocan, luego se mantendrá en vuelo durante una hora y como vuela a 100 Km/h, habrá recorrido exactamente 100 Km.