INTEGER IXS(501),IYS(501) CHARACTER*7 J1 CHARACTER*5 J5,J6 CHARACTER*3 J2,J3,J4 J1='. 2 * ' J2=' = ' J3='; ' J4=' + ' J5=') + (' J6=') = (' N=0 WRITE (*,1) READ (*,2) IA WRITE (*,3) READ (*,2) IB WRITE (*,4) READ (*,2) IP DO 5 IX1=1,IP IX=IX1-1 DO 5 IY1=1,IP IY=IY1-1 IF (MOD(IY*IY-IX*IX*IX-IA*IX-IB,IP).NE.0) GO TO 5 N=N+1 WRITE (*,6) N,IX,IY IXS(N)=IX IYS(N)=IY 5 CONTINUE WRITE (*,19) WRITE (*,7) READ (*,2) ILA NG=0 NE1=N-1 DO 18 JUX=1,2 DO 8 IXI=1,NE1 IYP=IXI+1 DO 8 IYI=IYP,N DO 8 IZI=1,N IF ((IZI.EQ.IXI).OR.(IZI.EQ.IYI)) GO TO 8 IF (IXS(IXI).EQ.IXS(IYI)) GO TO 8 IXA=(IYS(IYI)-IYS(IXI))*(IXS(IZI)-IXS(IXI)) IXB=(IYS(IZI)-IYS(IXI))*(IXS(IYI)-IXS(IXI)) IF (MOD(IXA-IXB,IP).NE.0) GO TO 8 IXA=IYS(IZI) IF (IYS(IZI).NE.0) IXA=IP-IYS(IZI) NG=NG+1 KX=IXS(IXI) KY=IYS(IXI) LX=IXS(IYI) LY=IYS(IYI) LZ=IXS(IZI) IF (JUX.EQ.1) WRITE (*,9) NG,KX,KY,J5,LX,LY,J6,LZ,IXA IF (JUX.EQ.2) WRITE (*,9) NG,LX,LY,J5,KX,KY,J6,LZ,IXA 8 CONTINUE 18 CONTINUE WRITE (*,20) WRITE (*,7) READ (*,2) ILA DO 11 IXI=1,N IF (IYS(IXI).EQ.0) GO TO 11 DO 10 IYI=1,N IF (IYI.EQ.IXI) GO TO 10 IXA=(3*IXS(IXI)*IXS(IXI)+IA)*(IXS(IYI)-IXS(IXI)) IXB=2*IYS(IXI)*(IYS(IYI)-IYS(IXI)) IF (MOD(IXA-IXB,IP).NE.0) GO TO 10 IXA=IYS(IYI) IF (IXA.NE.0) IXA=IP-IXA IXB=IYS(IXI) IF (IXB.NE.0) IXB=IP-IXB I1=IXS(IXI) I2=IYS(IXI) I3=IXS(IYI) I4=IYS(IYI) NG=NG+1 WRITE (*,12) NG,J1,I1,I2,J2,I3,IXA NG=NG+1 WRITE (*,9) NG,I1,I2,J5,I3,I4,J6,I1,IXB NG=NG+1 WRITE (*,9) NG,I3,I4,J5,I1,I2,J6,I1,IXB 10 CONTINUE 11 CONTINUE WRITE (*,7) READ (*,2) ILA WRITE (*,13) DO 14 IXI=1,N IXA=3*IXS(IXI)*IXS(IXI)+IA IXA=IXA*IXA IXA = IXA-12*IXS(IXI)*IYS(IXI)*IYS(IXI) IF (MOD(IXA,IP).NE.0) GO TO 14 WRITE (*,15) IXS(IXI),IYS(IXI) IF (IYS(IXI).NE.0) GO TO 14 WRITE (*,21) DO 16 IYI=1,N IF (IXI.EQ.IYI) GO TO 16 NG=NG+1 KX=IXS(IXI) KY=IYS(IXI) LX=IXS(IYI) LY=IYS(IYI) WRITE (*,9) NG,KX,KY,J5,LX,LY,J6,KX,KY 16 CONTINUE DO 17 IYI=1,N IF (IXI.EQ.IYI) GO TO 17 NG=NG+1 KX=IXS(IXI) KY=IYS(IXI) LX=IXS(IYI) LY=IYS(IYI) WRITE (*,9) NG,LX,LY,J5,KX,KY,J6,KX,KY 17 CONTINUE 14 CONTINUE MM=(N/2)-1 22 MM=MM+1 IF (IYS(MM).EQ.0) GO TO 22 NTIMES=512+MOD(23*IABS(IA)+29*IABS(IB)+31*IP,100) WRITE (*,23) NTIMES,IXS(MM),IYS(MM) WRITE (*,7) READ (*,2) ILA STOP 1 FORMAT (1X,2HIA,1X,1H=,1X,1H?,2X,5H(I3).) 2 FORMAT(I3) 3 FORMAT (1X,2HIB,1X,1H=,1X,1H?,2X,5H(I3).) 4 FORMAT (1X,2HIP,1X,1H=,1X,1H?,2X,5H(I3).) 6 FORMAT (1X,I3,'. (',I3,';',I3,')') 7 FORMAT (1X,6HReturn,1X,9Heintippen) 9 FORMAT (1X,I3,'. (',I3,';',I3,A5,I3,';',I3,A5,I3,';',I3,')') 12 FORMAT (1X,I3,A7,'(',I3,';',I3,')',4(A3,'(',I3,';',I3,')')) 13 FORMAT (1X/1X,'Wendepunkte:') 15 FORMAT (1X,'3 * (',I3,';',I3,') = "null"') 19 FORMAT (1X/1X,'Sekanten:') 20 FORMAT (1X/1X,'Tangenten:') 21 FORMAT (1X/1X,'Wendetangenten:') 23 FORMAT (1X/1X,'Berechne',I5,' * (',I2,1H;,I2,1H)/1X) END