Diffusion solver, written for HPCSE II (2013)