About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
May 2016
Using pawns makes it easier to solve the problem, even by manual trial and error. For example:
======== ======== n=====n= ===p==== ======== ======== ======== ===p==== ======== p=====p= ======== ======== ======== ======== ======== ========
There is a nice solution using only bishops; here is an analytical way to find it. Define an attack 64x64 0-1 matrix A where a_{ij} is 1 if and only if a bishop placed on square i is threatening square j. We are looking for two binary vectors x_1 and x_2 such that A*x_1 = A*x_2. So we are looking for a vector d=x_1-x_2 whose values are from the set {-1,0,1} and A*d=0. Luckily, the kernel of matrix A over the rational number field contains such a vector, which gives us the solution:
=b====== ======== b======= ======== ======== ======== ======== ======== ======== ======== ======== ======== ======== =======b ======== ======b=
Extending matrix A to be 5*64x64 with the attacking patterns of all five types of chess pieces gives us a much larger kernel. However, it's not easy to find {-1,0,1} vectors in this linear space.
As an example of a '**', we give Bert Dobbelaere's solution:
=bkqqkb= ===rr=== r=nnnn=r q======q ======== kn====nk ======== bn====nb ======== bn====nb ======== kn====nk r=nnnn=r q======q =bkqqkb= ===rr===
See also Paolo Farinelli and David F.H. Dunkley's nice symmetric solution:
=q====== =r====== q==k=k== r======= ==k===k= ===nnn== ======== ===n=n== ==k===k= ===nnn== ===k=k== ======== ======== =======b ======== ======b=