# Finite difference methods

I am currently applying the finite difference method to the solution of the diffusion equation.

I think that a problem has occurred, and is as follows, my explicit method is the most accurate when analyzing the error to the analytic solution, and the Crank-Nicolson method is the least accurate, the implicit method is somewhere in between. So, is this possible or most there be an error somewhere in my Python code?

PS: the errors for all 3 methods are really small, ie.: $$\pm 10^{-10}$$.