Factor Pair Latin Sqares
Please note that the following files are PDF files; therefore, you will need the free adobe acrobat reader in order to be able to view these files. If you do not have this application, you can download it for free here. If you’re not sure, try it out, and see if it works.
Abstract
Sudoku has risen in popularity over the past few years. The rules are simple, yet the solutions are often less than trivial. Mathematically, these puzzles are interesting in their own right. We will use the idea of a Sudoku Puzzle to define a new kind of $n \times n$ array. Further, we will aim to prove some necessary (and on occasion sufficient) conditions for the existence of these arrays. To that end, we define a latin square of order $n$ as an $n \times n$ array where every row and every column contain every symbol $1, 2, \ldots, n$ exactly once. We say $a \times b$ is an ordered factor pair of the integer $n$ if $n = a \times b$. An $(a,b)$-Sudoku latin square is a latin square where in addition to each row and column containing every symbol exactly once, each $a \times b$ rectangle also contains every symbol exactly once when the $n \times n$ array is tiled with $a \times b$ rectangles in the natural way. A factor pair latin square of order $n$ (denoted FPLS$(n)$) is an $(a,b)$-Sudoku latin square for every factor pair $(a,b)$ of $n$. At this point, we will mainly be concerned with the existence of such designs as well as related problems to such designs. This is a subset of the problem of finding when multiple gerechte designs exist.
Presentations
- 2015 Boca Raton
- JMM2015 Presentation
- Auburn University Interdisciplinary Colloquium
- Preliminary Oral Presentation
- 2014 REU Talk
Programs
- Python script to brute force a solution to a partially FPLS$(n)$
- Python script to check if an $n \times n$ array is a FPLS$(n)$
- Python script to determine inadmissible values
- Python script to brute force quasi-factor pair latin squares
- Python script to check if an $n \times n$ array is a quasi-FPLS$(n)$
- C++ DLX header file
- C++ DLX algorithm to solve a partially filled FPLS$(n)$