function main(input){
  input=input.split("\n");
  var first=input[0].split(" ");
  var N=first[0];
  var X=first[1];
  var xi=input[1].split(" ");
  
  var areArray=[];

  for(var i=0; i<N; i++){
    var temp;
    if(xi[i]-X>0){
      temp=xi[i]-X;
    }else{
      temp=(xi[i]-X)*(-1);
    };
    areArray.push(temp);
  };
  function gcd(pororon) {
    var f = (a, b) => b ? f(b, a % b) : a
    var ans = pororon[0]
    for (var i = 1; i < arguments.length; i++) {
        ans = f(ans, arguments[i]); 
    }
    return ans 
}
  console.log(gcd(areArray));
}

main(require('fs').readFileSync('/dev/stdin', 'utf8'));


