anchor.diff:  
   ! -- Boundaries and other initializations
   do i=1,n
  -  phi(i,m+1) = (real(i)-.5)*mesh_size
  -  x(i) = (real(i)-.5)*mesh_size
  -  a_n(i,m) = 2*a_n(i,m)
  -  a_s(i,1) = 2*a_s(i,1)
  +  phi(i,m+1) = (real(i)-.5_wp)*mesh_size
  +  x(i) = (real(i)-.5_wp)*mesh_size
  +  a_n(i,m) = 2.0_wp*a_n(i,m)
  +  a_s(i,1) = 2.0_wp*a_s(i,1)
   end do
   
   do j=1,m
  -  phi(n+1,j) = (real(j)-.5)*mesh_size
  -  y(j) = (real(j)-.5)*mesh_size
  -  a_e(n,j) = 2*a_e(n,j)
  -  a_w(1,j) = 2*a_w(1,j)
  +  phi(n+1,j) = (real(j)-.5_wp)*mesh_size
  +  y(j) = (real(j)-.5_wp)*mesh_size
  +  a_e(n,j) = 2.0_wp*a_e(n,j)
  +  a_w(1,j) = 2.0_wp*a_w(1,j)
   end do
   
  -phi(n+1,m+1) = 1.0
  -x(n+1) = 1.0
  -y(m+1) = 1.0
  +phi(n+1,m+1) = 1.0_wp
  +x(n+1) = 1.0_wp
  +y(m+1) = 1.0_wp
   
   write(axes_file,"(A,' ',A)")'x','y'
   do k=0,max(m+1,n+1)
  
positive.code: call file_close(convergence_file)
  call file_close(phi_file)
  
  end program
  
negative.code: allocate(y(0:m+1))
  
  ! INITIALIZE THE ARRAY VALUES
  gamma = 1.0_wp
  phi = 0.0_wp
  x = 0.0_wp
  y = 0.0_wp
  a_n = gamma
  a_s = gamma
  a_w = gamma
  