Kasteleyn's formula for domino tilings generalized? It seems a marvel when a bunch of irrational numbers "conspire" to become rational, even better an integer. An elementary example is $\prod_{j=1}^n4\cos^2\left(\pi j/(2n+1)\right)=1$.
Kasteleyn's formula reveals $\prod_{j=1}^n\prod_{k=1}^n \left( 4\cos^2(\pi j/(2n+1))+4\cos^2(\pi k/(2n+1))\right)$ is an integer because it enumerates the domino tilings of a $2n$-by-$2n$ square.
These results prompt me to ask for more. First, let's introduce the $r$-product
$$K_r(n):=\prod_{\ell_1=1}^n\cdots\prod_{\ell_r=1}^n\left(
4\cos^2\left(\frac{\pi\ell_1}{2n+1}\right)+\cdots+4\cos^2\left(\frac{\pi\ell_r}{2n+1}\right)\right).$$

Questions. This is based on experimental assesment.
(a) Is $K_r(n)$ always an integer? 
(b) Is there perhaps a higher-dimensional combinatorial interpretation of Kasteleyn for $K_r(n)$?
(c) Why do $K_r(n)$ feature "small primes" with high-power factorizations? For example, $K_3(2)=3^2(19)^3,\,\, K_3(3)=3^35^6(83)^3(97)^3\,\, K_3(4)=2^63^{34}(17)^6(19)^6(37)^6\,\,$ and
  $$K_3(5)=3^5(43)^6(1409)^3(2267)^3(2707)^3(3719)^6(3389)^6.$$

I'm not aware of such a generalization, but any reference would be appreciated.
Thanks.
UDPATE The comments have answered (a). Is there a more direct (elementary) proof? Any suggestions for parts (b) and (c)?
 A: Have you considered using the matrix-tree theorem [2, 3] which counts spanning trees instead of domino tilings?

Let $\kappa(G)$ count the number of spanning trees of $G$.
Theorem $\kappa(G) = \frac{1}{n}\lambda_1\lambda_2\dots \lambda_{n-1}$ where $\lambda_k$ are the eigenvalues of the graph Laplacian $L$ of $G$.

For a rectangular graph (or any product of intervals) we can engineer a graph whose eigenvalues multiply to $K_r$ (not that I have worked it out).  
There is a bijection by Temperley which connects domino tilings and spanning trees (since both involve planar graphs).  I don't know of higher dimensional Temperley bijection.


*

*As Richard Stanley explains, the Galois group for $[\mathbb{Q}(e^{2\pi i / (2n+1)}): \mathbb{Q}] = 2n+1$ should act on the product and preserve it.  There may even be an action on the spanning trees themselves.  These numbers must have number-theoretic properties.

*The log of the number tilings, divided by area (aka entropy) tends to Catalan's constant, $L(2, \chi_4)$.  And L-functions appear as entropies for other lattice as well.


Tzeng + Wu [Spanning Trees on Hypercubic Lattices and Non-Orientable Surfaces] (also works out Möbius strip and Klein bottle).

For a modern discussion of Kasteleyn's theorem look at


*

*David E. Speyer 
Variations on a theme of Kasteleyn, with application to the totally nonnegative Grassmannian
A: Here is an explanation why all prime factors are small.  
Following the well-known motto "A mathematician who doesn't succeed proving a conjecture tries to generalize it", I have asked this question, where the $K_r(n)$ can in fact be interpreted as constant terms of certain polynomials. (See the edit at the end, initially I didn't realize that!)  
Now, these polynomials are 'highly reducible', meaning that all their irreducible factors have degrees at most $n$ (and moreover very small coefficients), their CTs also consist of small prime factors.  
This is because the irreducible factors are nothing else than the minimal polynomials of $$4\cos^2\left(\frac{\pi\ell_1}{2n+1}\right)+\cdots+4\cos^2\left(\frac{\pi\ell_r}{2n+1}\right),$$ and those quantities only involve the $(2n+1)^{th}$ roots of unity. So their algebraic degrees divide $\phi(2n+1)$, and by some symmetry consideration it should follow that moreover they are strictly smaller than $\phi(2n+1)$, i.e. $\le n$.  
A: The fact that the values $K_2(n)$ in Kastelyn's formula are rational integers is not so amazing (once we see the Galois Theory proof). It is amazing that that they count what they do. However that same integrality proof applies to simpler formulas.   
It is worth mentioning that from $$\prod_{j=1}^n4\cos^2\left(\pi j/(2n+1)\right)=1$$ we also have $$\prod_{j=1}^n2\cos\left(\pi j/(2n+1)\right)=1$$ We can't simply use the fact that $$K_r(n):=\prod_{\ell_1=1}^n\cdots\prod_{\ell_r=1}^n\left(
4\cos^2\left(\frac{\pi\ell_1}{2n+1}\right)+\cdots+4\cos^2\left(\frac{\pi\ell_r}{2n+1}\right)\right) \in {\large \mathbb{Z}}$$ to see that also
$$J_r(n):=\prod_{\ell_1=1}^n\cdots\prod_{\ell_r=1}^n\left(
2\cos\left(\frac{\pi\ell_1}{2n+1}\right)+\cdots+2\cos\left(\frac{\pi\ell_r}{2n+1}\right)\right) \in {\large \mathbb{Z}}.$$ However the same reasoning which gives $K_r(n) \in \mathbb{Z}$ also gives $J_r(n) \in \mathbb{Z}.$ And we have yet to see that there is any reason to favor $K_r(n)$ over $J_r(n)$ othet than that we know an amazing fact about $K_2(n).$
The factors $J_r(n)$ would seem to have as much reason to be small as those of $K_r(n).$. Of course one would be more confident asserting that after computing some of the values, which I have not done.
