output_description: Print the maximum value of D that enables you to visit all the cities.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      N X
      x_1 x_2 ... x_N
attempt: def yakusuu(i, m):
      _i = i
      while i**2 <= m:
          if m % i == 0:
              return i
          else:
              i += 1
      for j in range(_i - 1, 0, -1):
          if m % j == 0:
              break
      return m // j
  
  
  def factoring(N, result):
      original_N = N
      tmp = 2
      while tmp <= N and (tmp - 1) ** 2 <= original_N:
          tmp = yakusuu(tmp, N)
          result.append(tmp)
  
          N //= tmp
  
  
  N, start = map(int, input().split())
  x = list(map(int, input().split()))
  tmp_list = []
  factoring(abs(x[0] - start), tmp_list)
  for i in range(N - 1):
      now = abs(x[i] - x[i + 1])
      new_list = []
      for j in tmp_list:
          if now % j == 0:
              now //= j
              new_list.append(j)
      tmp_list = [new_list[i] for i in range(len(new_list))]
  
  ans = 1
  for j in tmp_list:
      ans *= j
  print(ans)
  
problem_description: Statement
  
  There are N cities on a number line. The i-th city is located at coordinate
  x_i.
  
  Your objective is to visit all these cities at least once.
  
  In order to do so, you will first set a positive integer D.
  
  Then, you will depart from coordinate X and perform Move 1 and Move 2 below,
  as many times as you like:
  
    * Move 1: travel from coordinate y to coordinate y + D.
    * Move 2: travel from coordinate y to coordinate y - D.
  
  Find the maximum value of D that enables you to visit all the cities.
  
  Here, to visit a city is to travel to the coordinate where that city is
  located.
samples: [{"input": "3 3\n    1 7 11", "output": "2\n    \n\nSetting D = 2 enables you to visit all the cities as follows, and this is the\nmaximum value of such D.\n\n  * Perform Move 2 to travel to coordinate 1.\n  * Perform Move 1 to travel to coordinate 3.\n  * Perform Move 1 to travel to coordinate 5.\n  * Perform Move 1 to travel to coordinate 7.\n  * Perform Move 1 to travel to coordinate 9.\n  * Perform Move 1 to travel to coordinate 11.\n\n* * *"}, {"input": "3 81\n    33 105 57", "output": "24\n    \n\n* * *"}, {"input": "1 1\n    1000000000", "output": "999999999"}]