Let S be a non-empty set with an associative operation that is left and right cancellative (xy=xz implies y=z, and yx = zx implies y = z). Assume that for every a in S the set {a^n : n = 0,1,2...} is finite. Must S be a group?
I haven't had much group theory at this point...