      SUBROUTINE EIG3(EA,EB,A,B,Y,Z)
      REAL A,B,C,EA,EB,S,T,Y,Z
      T = .5*(B-A)
      C = SQRT(ABS(Y))*SQRT(ABS(Z))
      IF ( ABS(T) .GT. ABS(C) ) GOTO 30
      IF ( C .NE. 0. ) GOTO 10
      EA = A
      EB = B
      RETURN
10    T = T/ABS(C)
      S = ABS(C)/(ABS(T)+SQRT(1.+T*T))
      IF ( T .LT. 0. ) GOTO 20
      EA = A - S
      EB = B + S
      RETURN
20    EA = A + S
      EB = B - S
      RETURN
30    T = ABS(C)/T
      S = T*ABS(C)/(1.+SQRT(1.+T*T))
      EA = A - S
      EB = B + S
      RETURN
      END
