A latin square is a 'degenerate' form of sudoku with 1xc or rx1 block dimensions and blocks coincident with the rows or columns. Applying the b(n,m) estimates yields

kjellfp wrote: For nxn latin squares, the estimate is

N(n,1) = b(n,1)^1 * b(1,n)^n / n!^n.

Now, b(1,n) is n! and b(n,1) is the number of nxn latin squares.

{--Ignore: wrong usage.. edit 12/13/05

I don't follow the 'b(n,1) = number of latin squares logic'. From the original b(n,m) description{--

so the first b(n,m) argument (n) is the row size, and the second (m) is the column size, which are associated with the number of (^n) stacks and (^m) bands respectively.This is how: Let X be the space of (nm)x(nm)-grids built by legal sudoku bands, but with no attention put on wether the columns follow the rules of Sudoku. The size of X is b(n,m)^m. Let also Y be the set of grids built by legal stacks with no attention put on the rows, #Y is then b(m,n)^n.

AFAI can see, applying these description to a latin square gives:

b(n,1) is the number of permutations for a stack or column

b(1,n) the number for a band or row

b(1,n) = b(n,1) = n!, yielding an estimate

N (latin nxn) = n!^1 * n!^n / n!^n = n!

which is obviously bad.

I believe the error % is related to the deviation from the symmetry of a square block which has r=c = N(bands) = N(stacks). As the shape of the block diverges from square, N(bands) diverges from N(stacks) which degrades the cross product of the band and stack estimates. The failure for latin squares is the extreme example for the divergence of the exponential (^n, ^m) factors. An increase in grid size (nxm) probably magnifies the error.

end ignore --}

Using:

Yields for a latin squareLet b(r,c) be the number of ways to create the bands of rxc boxes (that is r rows, c columns in each box, r boxes in a band of size rx(c*r).

b(1,n) the number of permutations for a band = row = n!

b(n,1) has 'band' size = nx1*n = nxn, to be filled with boxes=cols, consistent with the latin square constraints, i.e. b(n,1)= N-latin-square :: NLS(n)

Giving

N (latin nxn) = NLS(n)^1 * n!^n / n!^n = NLS(n)

(as kjell stated..)