#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long n;
  cin >> n;
  vector<long long int> v(n);
  for (long long int i = 0; i < n; i++) {
    cin >> v[i];
  }
  sort((v).begin(), (v).end());
  set<long long> s;
  if (n == 1) {
    cout << -1;
  } else if (n == 2) {
    s.insert(v[1] + (v[1] - v[0]));
    s.insert(v[0] - (v[1] - v[0]));
    if ((v[1] - v[0]) % 2 == 0) {
      s.insert(v[0] + (v[1] - v[0]) / 2);
    }
    cout << s.size() << "\n";
    for (auto i : s) {
      cout << i << " ";
    }
  } else {
    long long d = INT_MAX;
    for (long long i = 0; i < n - 1; i++) {
      d = min(d, v[i + 1] - v[i]);
    }
    bool missed = false;
    bool noap = false;
    for (long long i = 0; i < n - 1; i++) {
      if (v[i + 1] == v[i] + d)
        continue;
      else {
        if (v[i + 1] == v[i] + (d * 2)) {
          if (missed == false) {
            missed = true;
            s.insert(v[i] + d);
          } else {
            noap = true;
            break;
          }
        } else {
          noap = true;
          break;
        }
      }
    }
    if (noap) {
      cout << 0;
    } else if (missed) {
      cout << 1 << "\n";
      cout << (*s.begin());
    } else {
      s.insert(v[0] - d);
      s.insert(v[n - 1] + d);
      cout << s.size() << "\n";
      for (auto i : s) {
        cout << i << " ";
      }
    }
  }
}
