The time taken to do the $n^{th}$ round is $\dfrac{a(n)}{(75+50)}$ where $a(n)$ is the distance between the two trains at the beginning of the $n^{th}$ round.
Note that $$a(n+1) = a(n) - (50+50) \times \dfrac{a(n)}{125} = \dfrac{a(n)}{5} = \dfrac{a(1)}{5^n}.$$
The distance travelled by the fly in the $n^{th}$ round is $75 \times \dfrac{a(n)}{125} = \dfrac{3}{5} a(n)$.
Hence, the total distance travelled by the fly is $$\sum_{n=1}^{\infty} \dfrac{3}{5} a(n) = a(1) \dfrac{3}{5} \left( 1 + \dfrac15 + \dfrac1{5^2} + \cdots \right) = a(1) \dfrac{3}{5} \times \dfrac{5}{4} = \dfrac34 a(1)$$ which is nothing but $$\text{Speed of the fly} \times \underbrace{\dfrac{a(1)}{\text{Relative speed between the trains}}}_{\text{Time taken by the trains to collide}}$$
which makes sense.
If you want the total number of rounds the fly makes before the train collides, this amounts to the number of rounds till when $a(n) = 0$. However note that only as $n \rightarrow \infty$, $a(n) \rightarrow 0$. Hence, the fly will make $\infty$-rounds before the trains collide!
The time taken by the fly to make the first round is $$\dfrac{a(1)}{125}.$$ The time taken by the fly to make the $n^{th}$ round is $$\dfrac{a(n)}{125}.$$ Hence, the time taken till the $N^{th}$ round is $$\sum_{n=1}^{N} \dfrac{a(n)}{125} = \sum_{n=1}^{N} \dfrac{ \dfrac{a(1)}{5^{n-1}}}{125}$$
Hence, solve for $N$ in the equation $$\sum_{n=1}^{N} \dfrac{ \dfrac{a(1)}{5^{n-1}}}{125} = t$$
Setting $a(1) = 100$, we get that
$$\sum_{n=0}^{N-1} \left(\dfrac15 \right)^n = \dfrac{5t}{4}$$
$$\dfrac{\left(\dfrac15 \right)^N - 1}{\left(\dfrac15 \right) - 1} = \dfrac{5t}{4}$$
$$1 - \left(\dfrac15 \right)^N = t$$ $$\left(\dfrac15 \right)^N = 1-t$$ Hence the number of rounds, $N$, made by the fly as a function of time $t$ is $$N = \dfrac{\log(1-t)}{\log(1/5)}$$
And of course there is no paradox. (As mentioned by Ron Gordon above, The same problem/same angle is discussed on: math.stackexchange.com/questions/346384/)
Solution 3 - above - is no solution at all. It just sums the distances of the trains at the start of each leg, but that is not the distance flown by the bird on that leg: that is given by (obviously) the bird's velocity times the leg duration. Whoops. The fixed solution is below.
Solution 1 - Easy:
The trains will collide in $T_t=\frac{D_0}{V_1+V_2}$. Hence $D_b=V_b\cdot\frac{D_0}{V_1+V_2}=120\cdot\frac{100}{50}=240$
**Hard Solution **
On the first leg, the ** trains are separated by** the distance $D_0$, which the birds covers in time $T_0=\frac{D_0}{V_b+V_2}$.
The distance flown by the bird is $S_0=V_B\cdot\frac{D_0}{V_b+V_2}$
On the second leg, distance between trains, duration and distance covered by the bird amount to:
$D_1 = D_0-T_0 \cdot (V_1+V_2) = D_0 \cdot \frac{V_b-V_1}{V_b+V_2};$
$T_1=D_0 \cdot \frac{V_1-V_b}{V_1+V_b}*(V_2+V_b))=T_0 \cdot \frac{V_b-V_1}{V_b+V_1};$
$S_1=V_b \cdot T_1$
On the third leg, a recurrence emerges:
$D_2 = D_0 \cdot \frac{(V_1-V_b)\cdot(V_2-V_b)}{(V_1+V_b)\cdot(V_2+V_b)} ;$
$T_2 = T_0 \cdot \frac{(V_1-V_b)\cdot(V_2-V_b)}{(V_1+V_b)\cdot(V_2+V_b)}; $
$S_2=V_b \cdot T_1$
The same recurrence is found to hold between $D_3$ and $D_1$, $T_3$ and $T_1$, $S_3$ and $S_1$.
If we set:
$$R=\frac{(V_1-V_b)\cdot(V_2-V_b)}{(V_1+V_b)\cdot(V_2+V_b)}$$
We see that both the total duration and the total distance traveled by the bird can be computed summing a
geometrical series with coefficient $R$ and respective first terms $(T_0+T_1)$ and $(S_0+S_1)$. $R< 1$ holds, so
convergence is assured.
Therefore we have:
Solution 2:
$$T_t= \sum (T_0+T_1)R^n = \frac{T_0+T_1}{1-R} = \frac{D_0}{V_1+V_2}; $$
$$S_b= \sum (S_0+S_1)R^n = V_b\cdot T_t = V_b\cdot\frac{D_0}{V_1+V_2}$$
This matches solution (1) as it should.
Best Answer
The trains take half an hour to collide, which, at a rate of 75kph, leads to the fly travelling 37.5km.