Hello Ed, I don't believe that writing a program to test all possible combinations is "clever", but nonetheless, I have done so, and no solution is possible. The below program, written in matlab, runs to completion, with no combination of 11 squares possible. ----------------------------------------------- function knights conns = zeros(64,13); for a=0:63 b=floor(a/8); c=mod(a,8); conns(a+1,1) = mod(b-2,8)*8+c +1; conns(a+1,2) = mod(b-1,8)*8+mod(c-1,8) +1; conns(a+1,3) = mod(b-1,8)*8+c +1; conns(a+1,4) = mod(b-1,8)*8+mod(c+1,8) +1; conns(a+1,5) = b*8+mod(c-2,8) +1; conns(a+1,6) = b*8+mod(c-1,8) +1; conns(a+1,7) = a +1; conns(a+1,8) = b*8+mod(c+1,8) +1; conns(a+1,9) = b*8+mod(c+2,8) +1; conns(a+1,10) = mod(b+1,8)*8+mod(c-1,8) +1; conns(a+1,11) = mod(b+1,8)*8+c +1; conns(a+1,12) = mod(b+1,8)*8+mod(c+1,8) +1; conns(a+1,13) = mod(b+2,8)*8+c +1; end knightpos = 1; avail = ones(1,64); avail(conns(1,:))=0; success = placeknight(knightpos,avail,conns); function success = placeknight(knightpos,avail,conns) success=0; if length(knightpos)==11 success=1; knightpos return end for a=find(avail) newknightpos=[knightpos,a]; newavail=avail; newavail(1:a-1)=0; newavail(conns(a,:))=0; if length(newknightpos)==3 disp(newknightpos); end success = placeknight(newknightpos,newavail,conns); if success==1 return end end --------------------------------------------------------- Sincerely, Brian Galebach