Although I'll end up with the same answer as Stan I think it's nice to see how to do this using the Lorentz transformations. We'll take the observer to be moving left to right at velocity $v$, and the front of the train is at $x$ = 0 and the end at $x$ = 500m. I'll call the length of the train $L_0$ for consistency with Stan's answer. The events marking when the observer passes the two ends of the train are (0, 0) and ($L_0/v$, $L_0$). As usual we'll assume the two frames coincide at (0, 0) so we only have to transform the second point ($L_0/v$, $L_0$).
The Lorentz transformations are:
$$ t' = \gamma \left( t - \frac{vx}{c^2} \right ) $$
$$ x' = \gamma \left( x - vt \right) $$
So transforming into the observer's frame we get:
$$ t' = \gamma \left( \frac{L_0}{v} - \frac{vL_0}{c^2} \right ) $$
$$ x' = \gamma \left( L_0 - v \frac{L_0}{v} \right) = 0 $$
So $x'$ is zero, but we knew this already, because in the observer's frame they are stationary at the origin. The solution to calculating the speed $v$ is going to come from the expression for $t'$ (where the problem tells us $t'$ = 780ns). Rearranging the expression for $t'$ gives:
$$\begin{align}
t' &= \gamma \frac{L_0}{v} \left( 1 - \frac{v^2}{c^2} \right ) \\
&= \frac{L_0}{v} \frac{1 - \frac{v^2}{c^2}}{\sqrt{1 - \frac{v^2}{c^2}}} \\
&= \frac{L_0}{v} \sqrt{1 - \frac{v^2}{c^2}} \\
\end{align}$$
Incidentally $vt'$ is the length of the train in the observer's frame, $L$, so:
$$ L = L_0 \sqrt{1 - \frac{v^2}{c^2}} $$
as Stan mentioned in his answer, though I'll stick with my expression for $t'$ above, and rearrange it to get:
$$ \frac{1}{v^2} = \frac{t'^2}{L_0^2} + \frac{1}{c^2} $$
Plug in $t'$ = 780ns and $L_0$ = 500m and we get $v$ = 2.717 $\times$ 10$^8$m/sec or 0.906$c$.