INPUT " Numero de ecuaciones ", n
DIM A(n, n + 1), x(n)



FOR i = 1 TO n
FOR j = 1 TO n
PRINT "A("; i; ","; j; ")=";
INPUT A(i, j)
NEXT j

PRINT "C("; i; ")=";
INPUT A(i, j)
NEXT i

'edicion de la matriz

CLS


PRINT
PRINT "Matriz Ampliada"
PRINT

FOR i = 1 TO n

     FOR j = 1 TO n + 1

       na = 0

       IF (A(i, j) ^ 2 < .00000001#) THEN
     
       PRINT USING "####.##     "; na;
     
       ELSE

        PRINT USING "####.##      "; A(i, j);

       END IF

        NEXT j

      PRINT

NEXT i

'C lculo de la triangular superior

FOR i = 1 TO n - 1
 IF A(i, i) = 0 THEN
        k = i
        WHILE A(k, i) = 0
        k = k + 1
          IF k > n THEN
            PRINT "linealmente dependiente"
            STOP
          END IF
        WEND
       FOR j = 1 TO n + 1
         cam = A(i, j)
         A(i, j) = A(k, j)
         A(k, j) = cam
       NEXT j
   END IF

   FOR k = i + 1 TO n


        v = -A(k, i) / A(i, i)
  
          FOR j = i TO n + 1
            A(k, j) = A(k, j) + A(i, j) * v
            NEXT j
     NEXT k
      
NEXT i

'edicion de la matriz triangular

PRINT
PRINT "Matriz Triangular superior"
PRINT

FOR i = 1 TO n

     FOR j = 1 TO n + 1

       na = 0

       IF (A(i, j) ^ 2 < .00000001#) THEN
    
       PRINT USING "####.##     "; na;
    
       ELSE

        PRINT USING "####.##      "; A(i, j);

       END IF

        NEXT j

      PRINT

NEXT i

'C lculo de la matriz diagonal

' FOR i = n TO 2 STEP -1
 '          FOR k = i - 1 TO 1 STEP -1
  '             v = -A(k, i) / A(i, i)
   '            FOR j = 1 TO n
    '             A(k, j) = A(k, j) + A(i, j) * v
     '          NEXT j
      '
       '  NEXT k
'  NEXT i
 '
'PRINT
'PRINT "Matriz Diagonal"
'PRINT

'FOR i = 1 TO n

 '    FOR j = 1 TO n + 1

  '     na = 0

   '    IF (A(i, j) ^ 2 < .00000001#) THEN
      
    '   PRINT USING "####.##     "; na;
      
     '  ELSE

      '  PRINT USING "####.##      "; A(i, j);

       'END IF

'        NEXT j

 '     PRINT

'NEXT i


'C lculo de las incągnitas

FOR i = 1 TO n
x(i) = 0
NEXT i

FOR i = n TO 1 STEP -1

        v = 0

        FOR j = i + 1 TO n

           v = v + A(i, j) * x(j)

        NEXT j


       x(i) = (A(i, n + 1) - v) / A(i, i)
NEXT i




PRINT
PRINT "Resoluciąn del sistema"
PRINT

FOR i = 1 TO n
PRINT "X("; i; ")= ";
PRINT x(i)
NEXT i





