Question: Do loop problem

I want Maple to execute the following code over and over again (exepct for with(combinat) of course)

with(combinat):
unassign(anames(user)):

A, h, j, k, l, n, o, p, z := randcomb(100, 8), A[1], A[2], A[3], A[4], A[5], A[6], A[7], A[8]:assign(solve([a+b+c+d-z = 0, e+f+g+h = z, i+j+k+l = z, m+n+o+p = z, a+e+i+m = z, b+f+j+n = z, c+g+k+o = z, a+f+k+p = z, d+g+j+m = z], [a, b, c, d, e, f, g, i, m])):

until the following condition is met.

nops(({a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p})=16

I tried using a do ... if nops(...)=16 then break fi od loop, but it did not work. Maple would execute the code only once, even if the condition is not met ( nops(..)= 14 or 15, meaning that 2 or more elements are the same).

Any ideas on what I am doing wrong?

Please Wait...