load "solve.m";

t  := Cputime();

print "Loading the matrix A...";
load "7-matrix.dat";
d  := Round(Sqrt(#A));
M  := MatrixAlgebra(RationalField(),d);
V  := VectorSpace(RationalField(),d);

print "Loading vector v...";
load "7-vector.dat";
v := V!v;

print "Computing the inverse matrix...";
B := M!A;

print "Computing answer...";
w := solve_mod_prime(A,v, [p : p in [2..50] | IsPrime(p)]);

print "Total time =",Cputime(t);



