10 REM  **********   ΠΡΟΓΡΑΜΜΑ  Π208   **********

20 REM  *                                       *

30 REM  *      Μέθοδος των Newton-Raphson       *

40 REM  *      για μη γραμμικά συστήματα        *

50 REM  *                                       *

60 REM  *****************************************

70 CLS

80 DIM A(20,21),B(20,21),X(20)

90 INPUT "Δώσε τον αριθμό εξισώσεων";N

100 NC=N+1

110 EPS=.0000005

120 REM Αρχικές τιμές για τα X(I) I=1,2,...,N

130 PRINT "Απαιτείται λίγος χρόνος?? Περιμένετε...":PRINT

140 FOR I=1 TO N:X(I)=1:NEXT I

150 FOR K=1 TO 200

160 REM Γράφουμε τα στοιχεία του Ιακωβιανού πίνακα

170 REM και το σταθερό συντελεστή

180 A(1,1)=1

190 A(1,2)=2*X(2)

200 A(1,3)=2

210 A(1,4)=1

220 A(1,5)=15-X(1)-X(2)^2-2*X(3)-X(4)

230 A(2,1)=X(2)

240 A(2,2)=1+X(1)

250 A(2,3)=2*X(3)

260 A(2,4)=3

270 A(2,5)=25-X(1)*X(2)-X(2)-X(3)^2-3*X(4)

280 A(3,1)=0

290 A(3,2)=3*X(2)^2

300 A(3,3)=1

310 A(3,4)=2*X(4)

320 A(3,5)=27-X(2)^3-X(3)-X(4)^2

330 A(4,1)=3

340 A(4,2)=1

350 A(4,3)=0

360 A(4,4)=1

370 A(4,5)=9-3*X(1)-X(2)-X(4)

380 IF INT(K/20)*20<>K  THEN GOTO  400

390 PRINT "Στην";K;"επανάληψη δεν έχει ακόμη συγκλίνει"

400 FOR II=1 TO N

410 IF ABS(A(II,NC))>EPS THEN GOTO 440

420 NEXT II

430 GOTO 500

440 GOSUB 570

450 FOR J=1 TO N

460 X(J)=X(J)+A(J,NC)

470 NEXT J

480 NEXT K

490 PRINT "Μετά από";K;"επαναλήψεις δεν έχουμε σύγκλιση":END

500 FOR I=1 TO N

510 PRINT "X(";I;")=";X(I)

520 NEXT I

530 PRINT "Απαιτήθηκαν";K;"Επαν. για τη σύγκλιση"

540 END

550 REM Το υποπρόγραμμα αυτό βρίσκει τη λύση

560 REM Με τη μέθοδο των Gauss-Jordan

570 FOR R=1 TO N

580 REM Μερική οδήγηση

590 W=A(R,R):C=R

600 FOR T=R+1 TO N

610 IF ABS(A(T,R))<ABS(W) THEN GOTO 640

620 W=A(T,R)

630 C=T

640 NEXT T

650 REM Αλλαγή γραμμών

660 FOR LT=1 TO NC

670 PROP=A(R,LT)

680 A(R,LT)=A(C,LT)

690 A(C,LT)=PROP

700 NEXT LT

710 FOR J=1 TO NC

720 B(R,J)=A(R,J)/W

730 NEXT J

740 FOR I=1 TO N

750 IF I=R THEN GOTO 790

760 FOR J=1 TO NC

770 B(I,J)=A(I,J)-A(I,R)*B(R,J)

780 NEXT J

790 NEXT I

800 REM Αντικατάσταση του Β πίνακα με τον Α

810 FOR I=1 TO N

820 FOR J=1 TO NC

830 A(I,J)=B(I,J)

840 NEXT J

850 NEXT I

860 NEXT R

870 RETURN