program laplace real, dimension(15,15) :: V1 real, dimension(15,15) :: V2 do I=1,15 do J=1,15 V1(I,J) = 1000*random(L) end do end do do I=1,15 V1(1,I)=0.0 end do do I=1,15 V1(I,1) = 0.0 end do do I=1,15 V1(15,I)=0.0 end do do I=1,15 V1(I,15)=100.0 end do 10 do I=2,14 do J=2,14 V1(I,J) = (V1(I-1,J)+V1(I+1,J)+V1(I,J-1)+V1(I,J+1))/4 Vold(I,J)=V1(I,J) end do end do do i=2,14 do J=2,14 if(V1(I,J)-Vold(I,J)/Vold(i,J) .GT. 0.01) THEN GO TO 10 ELSE IF (i==14 .AND. j==14) go to 50 end if end do end do 50 do i=1,15 write(*,'(1X,100G14.5)') (V1(i,j),j=1,15) end do end program laplace function random(L) integer :: L L = mod(1366*L+150889,714025) Random=Real(L)/Real(7142024) return end