円と曲線の交点 #4

はさみうち法でやってみる。

      PROGRAM INTERS
      IMPLICIT NONE
      DOUBLE PRECISION ERR,HIGH0,LOW0,Y1,Y2,X,Y,HIGH,LOW,MID
      PARAMETER(ERR=1.0D-10,HIGH0=1.0,LOW0=0.0)
      Y1(X)=X*TAN(X)
      Y2(X)=SQRT(1-X**2)
      HIGH=HIGH0
      LOW=LOW0
      DO
      MID=(HIGH+LOW)/2
      Y=Y2(MID)-Y1(MID)
      IF(ABS(Y).LT.ERR)THEN
      WRITE(UNIT=*,FMT=*)'X=',MID
      WRITE(UNIT=*,FMT=*)'X*TAN(X)=',Y1(MID)
      WRITE(UNIT=*,FMT=*)'SQRT(1-X**2)=',Y2(MID)
      STOP
      ELSE IF(Y.GT.0)THEN
      LOW=MID
      ELSE
      HIGH=MID
      END IF
      END DO
      END

C     INTERSECTION POINT = (0.739085133,0.673612029)