package main
import (
"fmt"
"sort"
)
func main() {
var n int
if _, err := fmt.Scan(&n); err != nil {
return
}
m := make(map[int]bool)
var u []int
for i := 0; i < n; i++ {
var val int
fmt.Scan(&val)
if !m[val] {
m[val] = true
u = append(u, val)
}
}
sort.Ints(u)
if len(u) == 1 {
fmt.Println(0)
} else if len(u) == 2 {
diff := u[1] - u[0]
if diff%2 == 0 {
fmt.Println(diff / 2)
} else {
fmt.Println(diff)
}
} else if len(u) == 3 {
if u[1]-u[0] == u[2]-u[1] {
fmt.Println(u[1] - u[0])
} else {
fmt.Println(-1)
}
} else {
fmt.Println(-1)
}
}