100 DIM D(3)
105 PRINT "INTERVAL (LOWER LIMIT, UPPER LIMIT)?"
110 INPUT A,B 
112 S=SGN(FNC(A))
115 T=SGN(FNC(B))
120 PRINT 
130 IF S*T=0 THEN 800 
140 IF S*T<0 THEN 500 
200 FOR I=1 TO 1000
210     X=A+RND(Z)*(B-A) 
220 V=SGN(FNC(X))
230 IF V=0 THEN 900
240 IF S*V<0 THEN 400 
250 NEXT I  
260 PRINT "NO CHANGE OF SIGN FOUND" 
265 PRINT 
270 GOTO 100  
400 B=X
500 D(2+S)=A  
510 D(2-S)=B  
600 X=(D(1)+D(3))/2 
610 U=SGN(FNC(X))
620 IF U=0 THEN 900
630 D(2+U)=X  
640 IF ABS(D(1)-D(3))/(ABS(D(1))+ABS(D(3)))<5E-6 THEN 900
650 GOTO 600  
800 IF S=0 THEN 850
810 X=T
820 GOTO 900  
850 X=S
900 PRINT "ONE ROOT AT ",X 
905 PRINT 
910 GOTO 100  
999 END 

