Soluzione

La soluzione minima, e quindi corretta è 1634527.

clear all
close all
clc

A = [1 2 3 4 5 6 7]; % Vettore delle cifre disponibili (7)
i = 0;                       % Numero di soluzioni

for a = 1:7
B = [A(1:a-1) A(a+1:end)]; % Vettore delle cifre disponibili (6)
for b = 1:6
C = [B(1:b-1) B(b+1:end)]; % Vettore delle cifre disponibili (5)
for c = 1:5
D = [C(1:c-1) C(c+1:end)]; % Vettore delle cifre disponibili (4)
for d = 1:4
E = [D(1:d-1) D(d+1:end)]; % Vettore delle cifre disponibili (3)
for e = 1:3
F = [E(1:e-1) E(e+1:end)];   % Vettore delle cifre disponibili (2)
for f = 1:2
G = [F(1:f-1) F(f+1:end)];    % Ultima cifra disponibile

% Verifichiamo le quattro condizioni:
if A(a)+B(b)==C(c)+D(d) && C(c)+D(d)==E(e)+F(f) && B(b)+C(c)==D(d)+E(e) && D(d)+E(e)==F(f)+G
i = i + 1;
Matricola(i) = 1e6*A(a) + 1e5*B(b) + 1e4*C(c) + 1e3*D(d) + 1e2*E(e) + 1e1*F(f) + G;
end

end
end
end
end
end
end

Matricola_Min = min(Matricola) % Soluzione minima
% Per come è scritto il codice, la soluzione minima è sempre la prima.