import scala.annotation.tailrec
import scala.collection.mutable.ArrayBuffer

object Main extends App {
  val Array(_, pointX) = io.StdIn.readLine().split(' ').map(_.toInt)
  val cities = io.StdIn.readLine().split(' ').map(_.toInt)
  val distance = new Distance
  println(distance.getD(cities, pointX))
}

class Distance {
  def getD(citiesPoint : Seq[Int], startPoint : Int): Int = {
     // 都市と座標Xとの距離(絶対値を求める、距離0(座標X=都市)は含めない、最大公約数を求めやすいように降順ソート)
    val distance : Seq[Int] = citiesPoint.filter(p => p != startPoint).map(f => (f-startPoint).abs).sorted(Ordering[Int].reverse)

    // 全ての距離の最大公約数を求める。
    distance.foldLeft(0) { (acc, x) => calcGCF(acc, x)}
  }

  /*
   * 2数の最大公約数を求める
   */
  @tailrec
  private def calcGCF(a : Int, b : Int): Int = b match{
    case 0 => a
    case _ if b < a => calcGCF(b, b % a)
    case _ => calcGCF(a, a % b)
  }
}
