#include <bits/stdc++.h>
using namespace std;
long long int inf = numeric_limits<long long int>::max();
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  long long int n;
  cin >> n;
  vector<long long int> a(n);
  for (int i = 0; i < n; i++) cin >> a[i];
  sort(a.begin(), a.end());
  set<long long int> answers;
  unordered_map<long long int, long long int> occurencesOfDifferences;
  for (long long int i = 1; i < n; i++)
    occurencesOfDifferences[a[i - 1] - a[i]]++;
  if (n == 1) {
    cout << -1;
    return 0;
  } else if (occurencesOfDifferences.size() > 2) {
    cout << 0;
    return 0;
  } else if (occurencesOfDifferences.size() == 1) {
    long long int diff = (a[1] - a[0]);
    answers.insert(a[0] - diff);
    answers.insert(a[n - 1] + diff);
    if (a.size() == 2 && diff % 2 == 0) {
      answers.insert(a[0] + diff / 2);
    }
  } else if ((*occurencesOfDifferences.begin()).second == 1 ||
             (*(++occurencesOfDifferences.begin())).second == 1) {
    for (long long int i = 1; i < n; i++) {
      long long int diff = a[i - 1] - a[i];
      if (occurencesOfDifferences[diff] == 1 && diff % 2 == 0 &&
          occurencesOfDifferences.find(diff / 2) !=
              occurencesOfDifferences.end() &&
          diff != 0)
        answers.insert(a[i - 1] - diff / 2);
    }
  }
  cout << answers.size() << "\n";
  for (long long int x : answers) cout << x << " ";
}
