#include <bits/stdc++.h>
using namespace std;
int main() {
  int n;
  cin >> n;
  int a[10006];
  set<int> s;
  set<int>::iterator it;
  vector<int> v;
  s.insert(0);
  int mn = 9999999, mx = 0;
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    mn = min(mn, a[i]);
    mx = max(mx, a[i]);
  }
  sort(a, a + n);
  for (int i = 1; i < n; i++) {
    s.insert(a[i] - a[i - 1]);
  }
  if (s.size() > 2) {
    puts("-1");
  } else if (s.size() == 1)
    puts("0");
  else {
    it = s.begin();
    it++;
    if ((*it) % 2 == 0 && (*it) == mx - mn)
      cout << (*it) / 2;
    else if ((*it) == mx - mn)
      cout << (*it);
    else if ((*it) * 2 == mx - mn)
      cout << (*it);
    else
      puts("-1");
  }
  return 0;
}
