Go ahead and put some numbers in the boxes then click one of those buttons. Constrain will take your inputs and use some simple rules to narrow down your remaining options. Solve will search over these options, recursively applying our rules until a solution is found (or not). All the calculation is done on your machine so it might freeze if you happen to input a particularly hard puzzle. Most puzzles will be instant, but if your input happens to consitute the worst 0.001% of cases you might be waiting for a while with a frozen browser page. When motivation strikes me I may move the computation to a webworker to fix this. If you want to learn more about the algorithm being used you can look here or if you want to take a peek at the source code, you can look here.