|  | @@ -20,6 +20,8 @@ use rand_chacha::rand_core::SeedableRng;
 | 
	
		
			
				|  |  |  use rand_chacha::ChaCha20Rng;
 | 
	
		
			
				|  |  |  use rand::distributions::{Distribution, Uniform};
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +// If I wanted to do 4x4 or 5x5, I would need more bits. (u32).
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |  #[derive(Debug, Copy, Clone, PartialEq)]
 | 
	
		
			
				|  |  |  pub struct Bits(u16);
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -232,7 +234,9 @@ let arr: [Vec<u32>; 10] = [(); 10].map(|_| Vec::with_capacity(100));
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  impl Sudoku {
 | 
	
		
			
				|  |  |      pub fn new() -> Self {
 | 
	
		
			
				|  |  | -        // let b : HashSet<u8> = HashSet::from_iter(1..=9);
 | 
	
		
			
				|  |  | +        // 10 = WIDTH + 1
 | 
	
		
			
				|  |  | +        // This would need to be changed in order to handle 4x4 or 5x5.
 | 
	
		
			
				|  |  | +        // NOTE: We ignore bit 0, we use bits 1-9 (for 3x3).
 | 
	
		
			
				|  |  |          let mut initial: Bits = Bits(set_bits(10));
 | 
	
		
			
				|  |  |          initial.set(0, false);
 | 
	
		
			
				|  |  |  
 |