# eerste leeftijdraadsel
stelsel1 = [
    [ 3,-1, 0, 0 ], 
    [ 0, 1,-2, 2 ], 
    [-1, 0, 1, 7 ]
]

# tweede leeftijdraadsel
stelsel = [
    [ 1,  1, 1, 27],
    [ 1, -2, 0, 0],
    [ 0, -1, 1, 3]
]

# verwissel twee rijen (vergelijkingen) van een stelsel met elkaar
# de rijen staan op posities index_1 en index_2
def verwissel(stelsel, index_1, index_2):
    hulp = stelsel[index_1]
    stelsel[index_1] = stelsel[index_2]
    stelsel[index_2] = hulp

# deel de rij (vergelijking) door het gegeven getal (in-place)
def deel_door(rij, deler):
    for i in range(len(rij)):
        rij[i] /= deler

# verminder rij_1 met een aantal keer rij_2 (in-place)
def verminder_met_veelvoud(rij_1, rij_2, factor):
    for i in range(len(rij_1)):
        rij_1[i] -= rij_2[i] * factor


## Gaus-Jordan
n = len(stelsel)

for k in range(0n):   # kolomnummer
    # zorg dat er een 1 komt op plaats stelsel[k][k]
    deel_door(stelsel[k], stelsel[k][k])
    # reduceer alle rijen, behalve rij k
    for r in range(n):
        f = stelsel[r][k]
        if r != k:
            verminder_met_veelvoud(stelsel[r], stelsel[k],f)
            
# toont het stelsel
for i in range(n):
    for j in range(n + 1):
        print(f"{stelsel[i][j]:<5.2f}  ", end="")
    print()








