Square Heffter arrays are n × n arrays such that each row and each column contains k filled cells, each row and column sum is divisible by 2nk + 1 and either x or −x appears in the array for each integer 1 x nk.Archdeacon noted that a Heffter array, satisfying two additional conditions, yields a face 2-colourable embedding of the complete graph K 2nk+1 on an orientable surface, where for each colour, the faces give a k-cycle system. Moreover, a cyclic permutation on the vertices acts as an automorphism of the embedding. These necessary conditions pertain to cyclic orderings of the entries in each row and each column of the Heffter array and are: (1) for each row and each column the sequential partial sums determined by the cyclic ordering must be distinct modulo 2nk+1; (2) the composition of the cyclic orderings of the rows and columns is equivalent to a single cycle permutation on the entries in the array. We construct Heffter arrays that satisfy condition (1) whenever (a) k is divisible by 4; or (b) n ≡ 1 (mod 4) and k ≡ 3 (mod 4); or (c) n ≡ 0 (mod 4), k ≡ 3 (mod 4) and n ≫ k. As corollaries to the above we obtain pairs of orthogonal k-cycle decompositions of K 2nk+1 .In 1896 Heffter, [19], introduced his now famous first difference problem: partition the set {1, . . . , 3m} into m triples {a, b, c} such that either a + b = c or a + b + c is divisible by 6m + 1. However, it was not until 1939 that Peltesohn, [22], showed that a solution exists whenever m = 3. A key interest in this problem is that solutions to Heffter's first difference problem yield cyclic Steiner triple systems; see [13]. A natural extension to this question is: can we identify a set of m subsets {x 1 , . . . , x s } ⊂ {−ms, . . . , −1, 1, . . . , ms} such that the sum of the entries in each subset is divisible by 2ms + 1 and further if x occurs in one of the subsets, −x does not occur in any of the subsets? We call the set of m such subsets a Heffter system. Two Heffter systems, H 1 = {H 11 , . . . , H 1m }, |H 1i | = s for i = 1, . . . m, and H 2 = {H 21 , . . . , H 2n } |H 2j | = r for j = 1, . . . n, where sm = nt, are said to be orthogonal if for all i, j, |H 1i ∩ H 2j | 1. As observed by Dinitz and Mattern [14], a Heffter system is equivalent to a Heffter array H(m, n; s, t), which is an m × n array of integers, such that:• each row contains s filled cells and each column contains t filled cells;• the elements in every row and column sum to 0 in Z 2ms+1 ; and• for each integer 1 x ms, either x or −x appears in the array.Henceforth the set of integers {0, 1, . . . , n − 1} is denoted by [n]. In the current paper the rows and columns of an m × n array will be indexed by [m] and [n], respectively. A Heffter array is square, if m = n and necessarily s = t, and is denoted H(n; t).The following is an example of a pair of orthogonal Heffter systems that are equivalent to a Heffter array H(6, 12; 8, 4), given by Archdeacon in [2].Example 1.1. Let m = 6 and s = 8. Then for each set