non-guessing constraint propogation algo done