Crank-Nicolson Method