Solving Inverse Problems via Diffusion Optimal Control