	  subroutine secante(xa0,xa1,maxit,tol,xatual,ff)
	common /convergence/ auxi3,rtol
	common /flag/ iflag

!
	iflag=0
	rtol=tol
 	  xantes = xa0
	  auxi1 = ff(xantes)
	  xpos = xa1
	  auxi2 = ff(xpos)
	  if (abs(auxi1).le.tol) then 
		xatual = xantes
	    auxi3=auxi1
		goto 333
		endif
	  if (abs(auxi2).le.tol) then 
		xatual = xpos
		auxi3 = auxi2
		goto 333
		endif
 	  do i=1,maxit
		xatual=xpos-auxi2*(xpos-xantes)/(auxi2-auxi1)
		auxi3 = ff(xatual)
	!	write(10,*)i,auxi3
	!	write(12,*)i,xatual,auxi3
		if (abs(auxi3).le.tol) goto 333
		xantes = xpos
	    auxi1=auxi2
		xpos = xatual
		auxi2 = auxi3
	  enddo
	   if (i.ge.maxit) then 
		 write (*,*)'Nao convergiu, F=',abs(auxi3)
		 return
	   endif 	
333	   CONTINUE
	   iflag=1
	   aux5=ff(xatual)
       write (*,*)'A solucao secante eh x=',xatual,' f=',abs(auxi3)
	   RETURN
	   END
!--------------------------------------------------------------
