clear;
clc;

A = [1 1 1; 2 -3 1; 3 -2 2];
B = [20; -5; 15];

Ab = [A B];

alpha = Ab(2, 1) / Ab(1, 1);
Ab(2, :) = Ab(2, :) - alpha * Ab(1, :);
alpha = Ab(3, 1) / Ab(1, 1);
Ab(3, :) = Ab(3, :) - alpha * Ab(1, :);

alpha = Ab(3, 2) / Ab(2, 2);
Ab(3, :) = Ab(3, :) - alpha * Ab(2, :);

X = zeros(3, 1);
X(3) = Ab(3, end) / Ab(3, 3);
X(2) = (Ab(2, end) - Ab(2, 3) * X(3)) / Ab(2, 2);
X(1) = (Ab(1, end) - Ab(1, 3) * X(3) - Ab(1, 2) * X(2)) / Ab(1, 1);

disp(X);