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: 
  import numpy as np
  import math
  
  def main():
      N, X = map(int, input().split())
      x = np.asarray(list(map(int, input().split())))
      x = np.absolute(x - X)
      if N > 1:
          d = np.absolute(x[:N-1] - x[1:N])
          l = None
          for i, n in enumerate(d):
              if i == 0:
                  l = n
              else:
                  l = math.gcd(l, n)
          print(l)
      else:
          print(x[0])
  
  
  if __name__ == '__main__':
      main()))
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"}]