c Ben Valvano
c HW7
c Prob1
	program wave
	double precision y,r
	dimension y(200,200)
	integer precision n, tMax, sMax, i
	PI   = 3.14159265358979323846264338327950288419716939937510
	time=0
	tMax=200
	sMax=200
	r=1.0
	do i=1,sMax-1
		do n=1,tMax-1
			y(i,n)=0.0
		enddo
	enddo
	y(sMax/2,1)=1.0
	do i=1,10
		y(sMax/2+i,1)=(100.0-i**2)/100.0
		y(sMax/2-i,1)=(100.0-i**2)/100.0
	enddo
	print *, '#What is the r value?'
	read(5,*) r
	print *, '#You entered:',r
	do n=1,tMax-1
		y(1,n+1)=0.0
		y(sMax-1,n+1)=0.0
		do i=2,sMax-2
			y(i,n+1)=2*(1.0-r**2)*y(i,n)-y(i,n-1)+r**2*(y(i+1,n)+y(i-1,n))
		enddo
	enddo
	print *, '#Writing to file...'
	open(99,file='output.txt')
	n=1
	i=1
100	continue
	do i=1,sMax-1
		write(99,*) i,n,y(i,n)
	enddo
	if(n+10<tMax) then
		n=n+10
		goto 100
	endif
	close(99)
	print *, '#done.'
	stop
	end