Rick,
How about this one ?

proc iml;
A = {1 1 1,
1 2 3,
1 1 1, /* duplicate row */
3 2 1,
3 2 1, /* duplicate row */
1 1 1}; /* duplicate row */
flag=j(nrow(A),1);
do i=1 to nrow(A);
temp=repeat(A[i,],nrow(A));
flag[i]=loc((A=temp)[,+]=ncol(A))[1];
end;
idx=unique(flag);
U=A[idx,];

print U;
quit;