def simpleGauss(tab: int):
size = len(tab)
for g in range(size-1):
for i in range(g+1, size):
m = tab[i][g]/tab[g][g]
for j in range(size+1):
if m != 0:
tab[i][j] -= tab[g][j]*m
for j in tab:
print(j)
print()
x = [0 for x in range(size)]
x[size-1] = round(tab[i][size]/tab[size-1][size-1], 5)
for i in range(size-2, -1, -1):
SUM = tab[i][size]
for k in range(i+1, size):
SUM -= tab[i][k]*x[k]
SUM /= tab[i][i]
x[i] = round(SUM, 5)
print(x)
if __name__ == '__main__':
f = open('RURL_dane2.txt', 'r')
for i, line in enumerate(f):
if i == 0:
size = int(line[0])
tab = [[0 for x in range(size+1)] for y in range(size)]
else:
for j in range(len(line.split())):
tab[i-1][j] = float(line.split()[j])
f.close()
simpleGauss(tab)