For the first follow-up in the question, since we are given integer spaces but only need to deal with boolean-typed stuffs, we surely do not need extra space. Maybe it would be interesting if the signature of the function says "boolean[][] board" (I'm using JAVA). I didn't think about it.

For the second follow-up, what does it mean at all? The information is stored in a finite-sized array, so what has it to do with infinity, or do people have a reasonable interpretation of what this is asking? Thanks.