puzzle2(X) :-
  X = [B3,B4,B5,C2,C3,C4,C5,D2,D3,D5,D6,E3,E4,E5,E6,F3,F4,F5],
  fd_domain(X,1,9),
  fd_all_different([B3,B4,B5]),
  fd_all_different([C2,C3,C4,C5]),
  fd_all_different([D2,D3]),
  fd_all_different([D5,D6]),
  fd_all_different([E3,E4,E5,E6]),
  fd_all_different([F3,F4,F5]),
  fd_all_different([C2,D2]),
  fd_all_different([B3,C3,D3,E3,F3]),
  fd_all_different([B4,C4]),
  fd_all_different([E4,F4]),
  fd_all_different([B5,C5,D5,E5,F5]),
  fd_all_different([D6,E6]),
  B3 + B4 + B5 #= 14,
  C2 + C3 + C4 + C5 #= 27,
  D2 + D3 #= 17,
  D5 + D6 #= 4,
  E3 + E4 + E5 + E6 #= 21,
  F3 + F4 + F5 #= 23,
  C2 + D2 #= 17,
  B3 + C3 + D3 + E3 + F3 #= 35,
  B4 + C4 #= 17,
  E4 + F4 #= 17,
  B5 + C5 + D5 + E5 + F5 #= 16,
  D6 + E6 #= 4,
  fd_labeling(X).
