*/
public static Constraint mod(IntVar X, IntVar Y, IntVar Z) {
int xl = Math.abs(X.getLB());
int xu = Math.abs(X.getUB());
int b = Math.max(xl, xu);
Solver solver = X.getSolver();
IntVar t1 = VariableFactory.bounded(StringUtils.randomName(), -b, b, solver);
IntVar t2 = VariableFactory.bounded(StringUtils.randomName(), -b, b, solver);
Constraint div = IntConstraintFactory.eucl_div(X, Y, t1);
Constraint tim = IntConstraintFactory.times(t1, Y, t2);
Constraint sum = IntConstraintFactory.sum(new IntVar[]{Z, t2}, X);