In one such embodiment, B is based on the following equation: B=b*(L+N)/(X???N), where b is a factor selected to adjust the effect of the number of moves required to reach a solution to the set-up on the difficulty rating, L is the number of moves in the shortest solution to the set-up, N is the number of moves in the shortest solution to any set-up, and X is the number of moves in the longest sol