An efficient general purpose program to use p cores to solve a PDE on an n*n matrix