#include <bits/stdc++.h>
using namespace std;
signed main() {
  set<long long> allelements;
  set<long long> diff;
  long long n;
  cin >> n;
  long long a[n];
  for (long long i = 0; i < n; i++) {
    cin >> a[i];
    allelements.insert(a[i]);
  }
  if (n == 1) {
    cout << -1 << '\n';
    return 0;
  }
  sort(a, a + n);
  for (long long i = 1; i < n; i++) {
    diff.insert(a[i] - a[i - 1]);
  }
  if ((long long)diff.size() == 1) {
    if ((long long)allelements.size() == 1) {
      cout << 1 << '\n' << a[0] << '\n';
      return 0;
    } else {
      if (n == 2) {
        if ((a[0] + a[1]) % 2 == 0)
          cout << 3 << '\n'
               << a[0] - *diff.begin() << ' ' << (a[0] + a[1]) / 2 << ' '
               << a[1] + *diff.begin() << '\n';
        else {
          cout << 2 << '\n';
          cout << a[0] - *diff.begin() << ' ' << a[1] + *diff.begin() << '\n';
        }
        return 0;
      }
      cout << 2 << '\n';
      cout << a[0] - *diff.begin() << ' ' << a[n - 1] + *diff.begin();
    }
    return 0;
  } else if ((long long)diff.size() == 2) {
    long long mn = *diff.begin();
    long long mx = *(++diff.begin());
    if (mn + mn == mx) {
      long long temp = 0, idx;
      for (long long i = 1; i < n; i++) {
        if (a[i] - a[i - 1] == mx) {
          temp++;
          idx = i;
        }
      }
      if (temp == 1) {
        cout << 1 << '\n' << (a[idx] + a[idx - 1]) / 2 << '\n';
      } else {
        cout << 0 << '\n';
      }
    } else {
      cout << 0 << '\n';
    }
  } else {
    cout << 0 << '\n';
  }
}
