Binary puzzles, the site is in Dutch so I'll translate the rules:
0 or 1 in each cell.
No string of three 0's in any row or column.
No string of three 1's in any row or column.
Exactly N/2 zero's in a row (N = width).
Exactly M/2 zero's in a column (M = height, usually M=N).
No two columns the same.
No two rows the same.
It may seem easy at first, but some of the hard ones really are hard. (not a rule)
A useful way to check the puzzle is to treat all rows and columns as integers, and check them against a hashtable of valid rows/columns (and against other rows or other columns). That means having a normal bitboard and a rotated bitboard.
A useful way to solve the puzzles is first filling in all rows that have to be a certain value due to the starting entries, and then recursively try all values assignable to that row (which means checking the potential value against the starting entries in that row, the 2 rows above, the 2 rows below, and the rows directly above and below for sequences of 3 equal cells and against rows that have already been used) - at the bottom of the recursion, check whether all columns are valid. Feel free to implement Dancing Links or such, but this way is fast enough (couple of miliseconds) and easy to implement.