I could use a review of my sudoku validation
This looks way overcomplicated. There are a lot of solutions on the web, for example:
https://stackoverflow.com/questions/723213/sudoku-algorithm-in-c-sharp

Regarding your code:


You have hard-coded numbers everywhere 
Second ctor accepts arbitrary
array and does not check parameter for validity. It can be null or of
any size different from 9