1. A computer implemented method for generating an explanation of a solution to a constraint satisfaction problem (CSP), said computer implemented method comprising the steps of: providing a CSP solution having assigned values to variables that are consistent with constraints defined for each variable; determining which variables contributed to a reduction of a domain of a desired output variable in a given propagation, said determining comprising: traversing said CSP solution and, at each propagation node traversed, iteratively executing the same corresponding propagator at the propagation node used to reduce the variable domain, wherein, at each iteration: executing a same corresponding propagator with the input domain being an initial domain of one of the input variables “vi” instead of its original domain at the time of the propagation; determining a corresponding output domain “d_ov” returned by the activation of the same propagator p with the input domain of the input variable being said initial domain of one of the variables; and, determining whether the returned “d_ov” is equal to an output domain of the desired output variable corresponding to the output variable at the time of propagation; and, if not equal, then the input variable “vi” does not affect the reduction of domain of the desired output variable; otherwise, determining that the replaced variable “vi” does affect the reduction of domain of the desired output variable; and, augmenting the constraints to supply an explanation for particular values assigned to said variables, and constraints defined over said variable utilized in said solution.