A Reversible Solver for Diffusion SDEs