TargetConstruction
Latin square
orthogonal Latin squares, odd,
magic square, oddSiamese method: move up-right, drop down on collision
magic square, write in order, complement () the cells on the diagonals of every block
magic square, LUX method (Conway), from the odd square of size
Hamiltonian path on a gridsnake (boustrophedon) order
domino tiling of a board with an even number of cells and no holespair along rows; colour arguments decide holes
matrix with given row and column sums (non-negative integers)north-west corner rule: fill greedily

Magic squares

vector<vector<int>> magicSquare(int n) {       // n odd (Siamese) or n % 4 == 0; values 1..n^2
    vector<vector<int>> a(n, vector<int>(n));
    if (n % 2 == 1) {
        int r = 0, c = n / 2;
        for (int v = 1; v <= n * n; v++) {
            a[r][c] = v;
            int nr = (r - 1 + n) % n, nc = (c + 1) % n;
            if (a[nr][nc]) nr = (r + 1) % n, nc = c;
            r = nr, c = nc;
        }
    } else {                                   // doubly even: complement the cells on the 4x4 diagonals
        for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) {
            int v = i * n + j + 1;
            bool diag = (i % 4 == j % 4) || ((i % 4) + (j % 4) == 3);
            a[i][j] = diag ? n * n + 1 - v : v;
        }
    }
    return a;
}

Related: Constructive Algorithms, Profile DP (counting tilings).