function [B0,B1,B2,B3]=findm16p6(L01,L02,L03,L12,L13,L23)
if nargin == 0
 L01=1;
 L02=1;
 L03=1;
 L12=1;
 L13=1;
 L23=1;
end
e=4*eye(4);
t=2^16-1;
for i0=0:t
 B0=m16(i0);
 if norm(B0*B0'-e)==0
  display(i0)
  for i1=i0:t
   B1=m16(i1);
   if (norm(B1*B1'-e)==0) & (norm(B1*B0'-L01*B0*B1')==0)
    display(i1)
    for i2=i1:t
     B2=m16(i2);
     if (norm(B2*B2'-e)==0) & (norm(B2*B0'-L02*B0*B2')==0) & (norm(B2*B1'-L12*B1*B2')==0)
      display(i2)
      for i3=i1:t
       B3=m16(i3);
       if (norm(B3*B3'-e)==0) & (norm(B3*B0'-L03*B0*B3')==0) & (norm(B3*B1'-L13*B1*B3')==0) & (norm(B3*B2'-L23*B2*B3')==0)
        display(i3)
        fprintf(' Found %6d, %6d, %6d, %6d.\n',i0,i1,i2,i3);
%          display(B0)
%          display(B1)
%          display(B2)
%          display(B3)
        return;
       end
      end
     end
    end 
   end
  end
 end
end
fprintf(' Search failed.\n');
B0=0;
B1=0;
B2=0;
B3=0; 
