Il problema
Risolvere un sistema lineare (2 equazioni, 2 variabili)

Utilizzando uno dei metodi disponibili (sostituzione, confronto, …) si arriva alla soluzione

Sono necessari un certo numero di passaggi e le formule finali sono di difficile memorizzazione.
Osserva che la divisione non è possibile se ad-bc=0.
Metodo di Cramer
L’algoritmo di Cramer è semplice da ricordare e da applicare…
Considera la matrice dei coefficienti del sistema

e le matrici con la colonna dei termini noti al posto di quelle di x e y rispettivamente


Adesso calcola i tre determinanti corrispondenti (differenza dei prodotti incrociati…)



Le formule per x e y precedenti possono essere riscritte…

Program sistema_lineare;
Var
a, b, c, d, e, f,
DD, Dx, Dy, { DD perché d è già occupato... }
x, y: Real;
Begin
WriteLn('Inserisci i coefficienti della prima equazione: ax+by=e');
Write('a? '); ReadLn(a);
Write('b? '); ReadLn(b);
Write('e? '); ReadLn(e);
WriteLn('Inserisci i coefficienti della seconda equazione: cx+dy=f');
Write('c? '); ReadLn(c);
Write('d? '); ReadLn(d);
Write('f? '); ReadLn(f);
DD:=a*d-b*c;
If(DD = 0) Then
WriteLn('Determinante nullo, la regola di Cramer non può essere applicata.')
Else
Begin
Dx:=d*e-b*f;
Dy:=a*f-c*e;
x:=Dx/DD;
y:=Dy/DD;
WriteLn('x = ', x:1:2);
WriteLn('y = ', y:1:2);
End;
ReadLn;
End.