Question: Poisson equation algo help

hey friends..
Am trying to solve 2d poission equation with finite difference method and using different scheme is got

ui-1,j -8ui,j + ui+1,j + 3ui,j-1 +3ui,j+1 = -h *16

and i have made code for this which is

> restart;
> with(LinearAlgebra);
> printf(`The lefthand endpoint on the X-axis is 0.\n`);
> OK := FALSE;
> while OK = FALSE do printf(`Input the righthand endpoint on the X-axis.\n`);
 FX := scanf(%f)[1];
if FX
else
 OK := TRUE
 end if
 end do;
> OK := FALSE;
> while OK = FALSE do printf(`Input the maximum value of the time variable Y.\n`); 
FY := scanf(%f)[1]; 
if FY
else 
OK := TRUE 
end if
 end do;
> OK := FALSE;
> while OK = FALSE do printf(`Input integer m = number of intervals on X-axis\n`);
 printf(`and N = number of time intervals - separated by a blank.\n`);
 printf(`Note that m must be 3 or larger.\n`);
 M := scanf(%d)[1];
 N := scanf(%d)[1];
if M
 else 
OK := TRUE 
end if
 end do;
> H := FX/M;
> # boundary condition given below
> for i while i < M do u[i, -1] := u[i, 1]-2*H*u[i, 0] end do;
> for i while i < M do u[i, N+1] := u[i, N-1]-2*H*u[i, N] end do;
> for j from 0 while j> for j from 0 while j
uptill here i have written the code but as am new user 
of maple and dont know much so please could anyone 
can help me in wirting further code for this
 i want to solve difference scheme that i wrote above.
this difference scheme would lead me to tri daigonal matrix 
which i have to solve by gauss elimination method
 or by any other method but how should i continue my algo that i dont know
 and boundary conditions are use where fictitious points comes..
will be waiting for your help guyz..
Please Wait...