This is a simple implementation of AC3 algorithm for arc consistency in extension. This implementation was written as half of the assessment for the CONS (Constraint Programming) module at the University of York.
While it's pretty simplistic and would require modification for use in a proper constraint solver, it's some quite neat code so I thought I'd upload it anyway.