円と曲線の交点 #2

文関数で定義すると短く済む。
どんどん現代書法的に非推奨になる。いい感じ。

      PROGRAM INTERS
      IMPLICIT NONE
      DOUBLE PRECISION Y,YD,Y1,Y2,X,XN,E,H,X0
      PARAMETER(E=1.0D-12,H=1.0D-8,X0=0.9)
      Y1(X)=X*TAN(X)
      Y2(X)=SQRT(1-X**2)
      Y(X)=Y1(X)-Y2(X)
      YD(X)=(Y(X+H)-2*Y(X)+Y(X-H))/H**2
      X=X0
      DO
      XN=X-Y(X)/YD(X)
      IF(ABS(Y(XN)).LT.E)THEN
      WRITE(UNIT=*,FMT=*)'X=',XN
      WRITE(UNIT=*,FMT=*)'X*TAN(X)=',Y1(XN)
      WRITE(UNIT=*,FMT=*)'SQRT(1-X**2)=',Y2(XN)
      STOP
      END IF
      X=XN
      END DO
      END

C     INTERSECTION POINT = (0.739085133,0.673612029)