implicit difference method