The cyclic construction \(L[i][j] = (i + j) \bmod n\) works for every \(n\), so Latin squares exist unconditionally.
Usage
morie_latin_square(n, method = c("cyclic", "shifted"))The cyclic construction \(L[i][j] = (i + j) \bmod n\) works for every \(n\), so Latin squares exist unconditionally.
morie_latin_square(n, method = c("cyclic", "shifted"))